unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Jameson Rollins <jrollins@finestructure.net>
To: Carl Worth <cworth@cworth.org>,
	david@tethera.net, notmuch@notmuchmail.org
Subject: JSON output as default [was: Re: [PATCH] Add an "--output=(json|text|)" command-line option...]
Date: Tue, 23 Feb 2010 16:00:01 -0500	[thread overview]
Message-ID: <87wry33bxq.fsf@servo.finestructure.net> (raw)
In-Reply-To: <878wajwwth.fsf@yoom.home.cworth.org>

[-- Attachment #1: Type: text/plain, Size: 1873 bytes --]

Hey, Carl.  I mentioned this is an email a while back
(id:87eil4ygar.fsf@servo.finestructure.net), but I want to bring it up
again now that you're looking at the JSON output stuff.  I would like to
make the case for JSON being the one and only output format.  Here's the
arguments:

* JSON is a very well spec'd API
* JSON is a *very* well supported standard (it's basically well
  supported by every language)
* the JSONformat is perfectly suited for notmuch's output
* emacs has a json.el library, so it would not be hard at all to modify
  the notmuch.el to parse json output
* using only one output format would considerably reduce the code base
  in notmuch, keeping things simpler and easier to maintain

I think these are pretty good reason to just move to JSON as *the*
output format.

While I'm on this topic, let me rehash another point I made previously:
If we move to JSON output, it would be *so* sweet to provide means to
filter the output JSON fields.  The "--output" flag could be used to
pick the desired output fields.  For instance, the current "search"
output could be something like:

search --output=thread_id,date,number,author,subject,tags

while the current "show" output could be something like:

search --output=message_id,tags,path,header,body,attachments

This would all make things *much* easier for clients and wrappers.  For
instance, here are just a couple of things that would be made much
easier for wrapper scripts:

* Proper maildir sync ("search --output=message_id,tags,path" ...)

* Purging "delete" tagged messages ("search --output=path" tags:delete)

* Moving/archiving messages based on search results ("search --output=path" ...)

I would personally love to see this.  I think it would make notmuch
cleaner, simpler, and more powerful all at the same time.

Interested in hearing what other's thoughts on this idea are.

jamie.

[-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --]

  reply	other threads:[~2010-02-23 21:00 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-13 23:21 RFC: output json from notmuch? David Bremner
2009-12-13 23:26 ` David Bremner
2009-12-14  0:05   ` Scott Robinson
2009-12-14  0:42     ` David Bremner
2009-12-14 22:41       ` Carl Worth
2009-12-14 22:34     ` Carl Worth
2009-12-14  0:07 ` Marten Veldthuis
2009-12-14 22:30 ` Carl Worth
2009-12-14 23:10   ` David Bremner
2009-12-18  5:33     ` [PATCH] JSON output for notmuch-search and notmuch-show Scott Robinson
2009-12-18 12:59       ` [PATCH] Add an "--output=(json|text|)" command-line option to both " david
2009-12-18 17:33         ` Carl Worth
2009-12-18 18:45           ` Scott Robinson
2009-12-19  0:36           ` David Bremner
2009-12-23  5:58             ` Carl Worth
2009-12-19 14:55           ` Prototype of --show option to control what is shown david
2009-12-19 14:55             ` [PATCH 1/3] rename option to select output format to --format from --output david
2009-12-19 14:55               ` [PATCH 2/3] notmuch-show.c: make calls to format functions conditional david
2009-12-19 14:55                 ` [PATCH 3/3] notmuch-show.c: prototype tabular output format, with output control david
2010-03-09 19:51                   ` Carl Worth
2010-03-09 20:19                     ` David Bremner
2010-03-10  9:25                       ` Carl Worth
2010-03-10 15:34                         ` David Bremner
2009-12-20 20:31               ` [PATCH] notmuch-query.el: new file to support access to the notmuch database david
2009-12-21 17:21                 ` Carl Worth
2009-12-21 18:01                   ` David Bremner
2010-02-24 12:52                 ` [PATCH v2] " david
2010-04-05 16:46                   ` [PATCH v3] " david
2010-04-05 16:59                     ` David Edmondson
2010-04-05 18:13                     ` Carl Worth
2010-02-23 19:56         ` [PATCH] Add an "--output=(json|text|)" command-line option to both notmuch-search and notmuch-show Carl Worth
2010-02-23 21:00           ` Jameson Rollins [this message]
2010-02-23 23:35             ` JSON output as default [was: Re: [PATCH] Add an "--output=(json|text|)" command-line option...] Carl Worth
2010-02-24 13:54               ` Sebastian Spaeth
2009-12-18 17:31       ` [PATCH] JSON output for notmuch-search and notmuch-show Carl Worth
2009-12-18 18:47         ` Scott Robinson
2009-12-23  5:48           ` Carl Worth
2009-12-31  8:54             ` Scott Robinson
2009-12-31 12:49               ` David Bremner
2009-12-25 12:53           ` David Bremner
     [not found] <1257161639.5014171267021461605.JavaMail.root@zimbra1-e1.priv.proxad.net>
2010-02-24 14:27 ` JSON output as default [was: Re: [PATCH] Add an "--output=(json|text|)" command-line option...] racin
2010-02-24 14:56   ` Jameson Rollins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wry33bxq.fsf@servo.finestructure.net \
    --to=jrollins@finestructure.net \
    --cc=cworth@cworth.org \
    --cc=david@tethera.net \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).