]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch.c
notmuch.el: Reorder notmuch-search-mode keybindings map.
[notmuch] / notmuch.c
index 8cb13107c6a38142c426c87085c28a5ad9fa5ecc..d9846ce791c1d6e5d4ae8bec8c9a51b928662f50 100644 (file)
--- a/notmuch.c
+++ b/notmuch.c
@@ -89,7 +89,22 @@ static const char search_terms_help[] =
     "\t\tParentheses can also be used to control the combination of\n"
     "\t\tthe Boolean operators, but will have to be protected from\n"
     "\t\tinterpretation by the shell, (such as by putting quotation\n"
-    "\t\tmarks around any parenthesized expression).\n\n";
+    "\t\tmarks around any parenthesized expression).\n"
+    "\n"
+    "\t\tFinally, results can be restricted to only messages within a\n"
+    "\t\tparticular time range, (based on the Date: header) with:\n"
+    "\n"
+    "\t\t\t<intial-timestamp>..<final-timestamp>\n"
+    "\n"
+    "\t\tEach timestamp is a number representing the number of seconds\n"
+    "\t\tsince 1970-01-01 00:00:00 UTC. This is not the most convenient\n"
+    "\t\tmeans of expressing date ranges, but until notmuch is fixed to\n"
+    "\t\taccept a more convenient form, one can use the date program to\n"
+    "\t\tconstruct timestamps. For example, with the bash shell the\n"
+    "\t\tfollowing syntax would specify a date range to return messages\n"
+    "\t\tfrom 2009-10-01 until the current time:\n"
+    "\n"
+    "\t\t\t$(date +%%s -d 2009-10-01)..$(date +%%s)\n\n";
 
 command_t commands[] = {
     { "setup", notmuch_setup_command,
@@ -98,7 +113,8 @@ command_t commands[] = {
       "\t\tThe setup command will prompt for your full name, your primary\n"
       "\t\temail address, any alternate email addresses you use, and the\n"
       "\t\tdirectory containing your email archives. Your answers will be\n"
-      "\t\twritten to a configuration file in ${HOME}/.notmuch-config .\n"
+      "\t\twritten to a configuration file in ${NOTMUCH_CONFIG} (if set)\n"
+      "\t\tor ${HOME}/.notmuch-config.\n"
       "\n"
       "\t\tThis configuration file will be created with descriptive\n"
       "\t\tcomments, making it easy to edit by hand later to change the\n"
@@ -146,16 +162,6 @@ command_t commands[] = {
       "\n"
       "\t\tSupported options for search include:\n"
       "\n"
-      "\t\t--max-threads=<value>\n"
-      "\n"
-      "\t\t\tRestricts displayed search results to a subset\n"
-      "\t\t\tof the results that would match the terms.\n"
-      "\n"
-      "\t\t--first=<value>\n"
-      "\n"
-      "\t\t\tOmits the first <value> threads from the search\n"
-      "\t\t\tresults that would otherwise be displayed.\n"
-      "\n"
       "\t\t--sort=(newest-first|oldest-first)\n"
       "\n"
       "\t\t\tPresent results in either chronological order\n"
@@ -186,8 +192,19 @@ command_t commands[] = {
       "\n"
       "\t\tSee \"notmuch help search-terms\" for details of the search\n"
       "\t\tterms syntax." },
-    { "reply", notmuch_reply_command,
+    { "count", notmuch_count_command,
       "<search-terms> [...]",
+      "\t\tCount messages matching the search terms.",
+      "\t\tThe number of matching messages is output to stdout.\n"
+      "\n"
+      "\t\tA common use of \"notmuch count\" is to display the count\n"
+      "\t\tof messages matching both a specific tag and either inbox\n"
+      "\t\tor unread\n"
+      "\n"
+      "\t\tSee \"notmuch help search-terms\" for details of the search\n"
+      "\t\tterms syntax." },
+    { "reply", notmuch_reply_command,
+      "[options...] <search-terms> [...]",
       "\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"
@@ -196,10 +213,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,
@@ -237,6 +266,15 @@ command_t commands[] = {
       "\t\tSo if you've previously been using sup for mail, then the\n"
       "\t\t\"notmuch restore\" command provides you a way to import\n"
       "\t\tall of your tags (or labels as sup calls them)." },
+    { "search-tags", notmuch_search_tags_command,
+      "[<search-terms> [...] ]",
+      "\t\tList all tags found in the database or matching messages.",
+      "\t\tRun this command without any search-term(s) to obtain a list\n"
+      "\t\tof all tags found in the database. If you provide one or more\n"
+      "\t\tsearch-terms as argument(s) then the resulting list will\n"
+      "\t\tcontain tags only from messages that match the search-term(s).\n"
+      "\n"
+      "\t\tIn both cases the list will be alphabetically sorted." },
     { "help", notmuch_help_command,
       "[<command>]",
       "\t\tThis message, or more detailed help for the named command.",