X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch.c;h=e519f98e7013b1d0ff3e83cb3b4c730563d8fe3c;hp=5b0284cd9d731e882d6358ba5bc47af4b2364847;hb=b2a9fcd5cfd1bf84321b8bf53b37e7fb98618d6e;hpb=7a215c2de81e95798ecadd982eecf05e647c3988 diff --git a/notmuch.c b/notmuch.c index 5b0284cd..e519f98e 100644 --- a/notmuch.c +++ b/notmuch.c @@ -52,7 +52,7 @@ static const char search_terms_help[] = "\t\t\tto:\n" "\t\t\tsubject:\n" "\t\t\tattachment:\n" - "\t\t\ttag:\n" + "\t\t\ttag: (or is:)\n" "\t\t\tid:\n" "\t\t\tthread:\n" "\n" @@ -66,7 +66,7 @@ static const char search_terms_help[] = "\t\tthe subject of an email. Quoted phrases are supported when\n" "\t\tsearching with: subject:\"this is a phrase\".\n" "\n" - "\t\tFor tag:, valid tag values include \"inbox\" and \"unread\"\n" + "\t\tFor tag: and is:, valid tag values include \"inbox\" and \"unread\"\n" "\t\tby default for new messages added by \"notmuch new\" as well\n" "\t\tas any other tag values added manually with \"notmuch tag\".\n" "\n" @@ -145,11 +145,6 @@ command_t commands[] = { "\t\t\tVerbose operation. Shows paths of message files as\n" "\t\t\tthey are being indexed.\n" "\n" - "\t\tNote: \"notmuch new\" runs (other than the first run) will\n" - "\t\tskip any read-only directories, so you can use that to mark\n" - "\t\tdirectories that will not receive any new mail (and make\n" - "\t\t\"notmuch new\" even faster).\n" - "\n" "\t\tInvoking notmuch with no command argument will run new if\n" "\t\tthe setup command has previously been completed, but new has\n" "\t\tnot previously been run." }, @@ -162,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" @@ -177,13 +177,32 @@ command_t commands[] = { "\t\t(all replies to a particular message appear immediately\n" "\t\tafter that message in date order).\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\tSupported options for show include:\n" + "\n" + "\t\t--entire-thread\n" + "\n" + "\t\t\tBy default only those messages that match the\n" + "\t\t\tsearch terms will be displayed. With this option,\n" + "\t\t\tall messages in the same thread as any matched\n" + "\t\t\tmessage will be displayed.\n" + "\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" @@ -204,7 +223,7 @@ command_t commands[] = { "\t\tSee \"notmuch help search-terms\" for details of the search\n" "\t\tterms syntax." }, { "reply", notmuch_reply_command, - " [...]", + "[options...] [...]", "\t\tConstruct a reply template for a set of messages.", "\t\tConstructs a new message as a reply to a set of existing\n" "\t\tmessages. The Reply-To: header (if any, otherwise From:) is\n" @@ -213,10 +232,22 @@ command_t commands[] = { "\n" "\t\tA suitable subject is constructed. The In-Reply-to: and\n" "\t\tReferences: headers are set appropriately, and the content\n" - "\t\tof the original messages is quoted and included in the body.\n" + "\t\tof the original messages is quoted and included in the body\n" + "\t\t(unless --format=headers-only is given).\n" "\n" "\t\tThe resulting message template is output to stdout.\n" "\n" + "\t\tSupported options for reply include:\n" + "\n" + "\t\t--format=(default|headers-only)\n" + "\n" + "\t\t\tdefault:\n" + "\t\t\t\tIncludes subject and quoted message body.\n" + "\n" + "\t\t\theaders-only:\n" + "\t\t\t\tOnly produces In-Reply-To, References, To\n" + "\t\t\t\tCc, and Bcc headers.\n" + "\n" "\t\tSee \"notmuch help search-terms\" for details of the search\n" "\t\tterms syntax." }, { "tag", notmuch_tag_command, @@ -276,7 +307,10 @@ usage (FILE *out) command_t *command; unsigned int i; - fprintf (out, "Usage: notmuch [args...]\n"); + fprintf (out, + "Usage: notmuch --help\n" + " notmuch --version\n" + " notmuch [args...]\n"); fprintf (out, "\n"); fprintf (out, "Where and [args...] are as follows:\n"); fprintf (out, "\n"); @@ -426,6 +460,14 @@ main (int argc, char *argv[]) if (argc == 1) return notmuch (local); + if (STRNCMP_LITERAL (argv[1], "--help") == 0) + return notmuch_help_command (NULL, 0, NULL); + + if (STRNCMP_LITERAL (argv[1], "--version") == 0) { + printf ("notmuch version " STRINGIFY(NOTMUCH_VERSION) "\n"); + return 0; + } + for (i = 0; i < ARRAY_SIZE (commands); i++) { command = &commands[i];