aboutsummaryrefslogtreecommitdiff
path: root/notmuch.c
diff options
context:
space:
mode:
authorScott Robinson <scott@quadhome.com>2009-12-31 11:17:40 -0400
committerCarl Worth <cworth@cworth.org>2010-02-23 12:01:12 -0800
commit6ce2bf68f53fec4302121763e588c33c7cd86a9c (patch)
tree97eed1a84956f582cc43efbb16419c43b930c242 /notmuch.c
parent3ca7a4fbcc9cd72330bce1b1670150af1e250006 (diff)
Add an "--format=(json|text)" command-line option to both notmuch-search and notmuch-show.
In the case of notmuch-show, "--format=json" also implies "--entire-thread" as the thread structure is implicit in the emitted document tree. As a coincidence to the implementation, multipart message ID numbers are now incremented with each part printed. This changes the previous semantics, which were unclear and not necessary related to the actual ordering of the message parts.
Diffstat (limited to 'notmuch.c')
-rw-r--r--notmuch.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/notmuch.c b/notmuch.c
index 87479f8..dca8d38 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -157,6 +157,11 @@ command_t commands[] = {
"\n"
"\t\tSupported options for search include:\n"
"\n"
+ "\t\t--format=(json|text)\n"
+ "\n"
+ "\t\t\tPresents the results in either JSON or\n"
+ "\t\t\tplain-text (default)\n"
+ "\n"
"\t\t--sort=(newest-first|oldest-first)\n"
"\n"
"\t\t\tPresent results in either chronological order\n"
@@ -181,13 +186,23 @@ command_t commands[] = {
"\t\t\tall messages in the same thread as any matched\n"
"\t\t\tmessage will be displayed.\n"
"\n"
- "\t\tThe output format is plain-text, with all text-content\n"
- "\t\tMIME parts decoded. Various components in the output,\n"
- "\t\t('message', 'header', 'body', 'attachment', and MIME 'part')\n"
- "\t\tare delimited by easily-parsed markers. Each marker consists\n"
- "\t\tof a Control-L character (ASCII decimal 12), the name of\n"
- "\t\tthe marker, and then either an opening or closing brace,\n"
- "\t\t'{' or '}' to either open or close the component.\n"
+ "\t\t--format=(json|text)\n"
+ "\n"
+ "\t\t\ttext\t(default)\n"
+ "\n"
+ "\t\t\tThe plain-text has all text-content MIME parts decoded.\n"
+ "\t\t\tVarious components in the output, ('message', 'header',\n"
+ "\t\t\t'body', 'attachment', and MIME 'part') are delimited by\n"
+ "\t\t\teasily-parsed markers. Each marker consists of a Control-L\n"
+ "\t\t\tcharacter (ASCII decimal 12), the name of the marker, and\n"
+ "\t\t\tthen either an opening or closing brace, '{' or '}' to\n"
+ "\t\t\teither open or close the component.\n"
+ "\n"
+ "\t\t\tjson\n"
+ "\n"
+ "\t\t\tFormat output as Javascript Object Notation (JSON).\n"
+ "\t\t\tJSON output always includes all messages in a matching,\n"
+ "\t\t\tthread i.e. '--output=json' implies '--entire-thread'\n"
"\n"
"\t\tA common use of \"notmuch show\" is to display a single\n"
"\t\tthread of email messages. For this, use a search term of\n"