X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch.c;h=c0ce026a14ff904d29fbf53ca53b40975855bf52;hp=394371d943505ec06db9946861bd4f09dedc9b74;hb=80ae1829c19f1fbe714232defcf12f18bc99ddb8;hpb=796b629c3b821986c1f8d9a9e6f952a1df1034f0 diff --git a/notmuch.c b/notmuch.c index 394371d9..c0ce026a 100644 --- a/notmuch.c +++ b/notmuch.c @@ -127,6 +127,32 @@ static const char search_terms_help[] = "\n" "\t\t$(date +%%s -d 2009-10-01)..$(date +%%s)\n\n"; +static const char hooks_help[] = + "\tHooks are scripts (or arbitrary executables or symlinks to such) that\n" + "\tnotmuch invokes before and after certain actions. These scripts reside\n" + "\tin the .notmuch/hooks directory within the database directory and must\n" + "\thave executable permissions.\n" + "\n" + "\tThe currently available hooks are described below.\n" + "\n" + "\tpre-new\n" + "\t\tThis hook is invoked by the new command before scanning or\n" + "\t\timporting new messages into the database. If this hook exits\n" + "\t\twith a non-zero status, notmuch will abort further processing\n" + "\t\tof the new command.\n" + "\n" + "\t\tTypically this hook is used for fetching or delivering new\n" + "\t\tmail to be imported into the database.\n" + "\n" + "\tpost-new\n" + "\t\tThis hook is invoked by the new command after new messages\n" + "\t\thave been imported into the database and initial tags have\n" + "\t\tbeen applied. The hook will not be run if there have been any\n" + "\t\terrors during the scan or import.\n" + "\n" + "\t\tTypically this hook is used to perform additional query-based\n" + "\t\ttagging on the imported messages.\n\n"; + static command_t commands[] = { { "setup", notmuch_setup_command, NULL, @@ -144,7 +170,7 @@ static command_t commands[] = { "\tInvoking notmuch with no command argument will run setup if\n" "\tthe setup command has not previously been completed." }, { "new", notmuch_new_command, - "[--verbose]", + "[options...]", "Find and import new messages to the notmuch database.", "\tScans all sub-directories of the mail directory, performing\n" "\tfull-text indexing on new messages that are found. Each new\n" @@ -159,8 +185,15 @@ static command_t commands[] = { "\tis delivered and you wish to incorporate it into the database.\n" "\tThese subsequent runs will be much quicker than the initial run.\n" "\n" + "\tThe new command supports hooks. See \"notmuch help hooks\" for\n" + "\tmore details on hooks.\n" + "\n" "\tSupported options for new include:\n" "\n" + "\t--no-hooks\n" + "\n" + "\t\tPrevent hooks from being run.\n" + "\n" "\t--verbose\n" "\n" "\t\tVerbose operation. Shows paths of message files as\n" @@ -328,12 +361,24 @@ static command_t commands[] = { "\tSee \"notmuch help search-terms\" for details of the search\n" "\tterms syntax." }, { "count", notmuch_count_command, - " [...]", + "[options...] [...]", "Count messages matching the search terms.", - "\tThe number of matching messages is output to stdout.\n" + "\tThe number of matching messages (or threads) is output to stdout.\n" + "\n" + "\tWith no search terms, a count of all messages (or threads) in\n" + "\tthe database will be displayed.\n" + "\n" + "\tSupported options for count include:\n" + "\n" + "\t--output=(messages|threads)\n" + "\n" + "\t\tmessages (default)\n" "\n" - "\tWith no search terms, a count of all messages in the database\n" - "\twill be displayed.\n" + "\t\tOutput the number of matching messages.\n" + "\n" + "\t\tthreads\n" + "\n" + "\t\tOutput the number of matching threads.\n" "\n" "\tSee \"notmuch help search-terms\" for details of the search\n" "\tterms syntax." }, @@ -517,6 +562,10 @@ notmuch_help_command (unused (void *ctx), int argc, char *argv[]) printf ("\n"); printf (search_terms_help); return 0; + } else if (strcmp (argv[0], "hooks") == 0) { + printf ("Help for <%s>\n\n", argv[0]); + printf (hooks_help); + return 0; } fprintf (stderr, @@ -609,7 +658,7 @@ main (int argc, char *argv[]) return notmuch (local); if (STRNCMP_LITERAL (argv[1], "--help") == 0) - return notmuch_help_command (NULL, 0, NULL); + return notmuch_help_command (NULL, argc - 1, &argv[1]); if (STRNCMP_LITERAL (argv[1], "--version") == 0) { printf ("notmuch " STRINGIFY(NOTMUCH_VERSION) "\n");