[notmuch] JSON output as default [was: Re: [PATCH] Add an "--output=(json|text|)" command-line option...]
Jameson Rollins
jrollins at finestructure.net
Tue Feb 23 13:00:01 PST 2010
Hey, Carl. I mentioned this is an email a while back
(id:87eil4ygar.fsf at 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20100223/314f88dc/attachment.pgp>
More information about the notmuch
mailing list