+static int
+notmuch_help_command (notmuch_config_t *config, int argc, char *argv[]);
+
+static int
+notmuch_command (notmuch_config_t *config, int argc, char *argv[]);
+
+static command_t commands[] = {
+ { NULL, notmuch_command, TRUE,
+ "Notmuch main command." },
+ { "setup", notmuch_setup_command, TRUE,
+ "Interactively setup notmuch for first use." },
+ { "new", notmuch_new_command, FALSE,
+ "Find and import new messages to the notmuch database." },
+ { "insert", notmuch_insert_command, FALSE,
+ "Add a new message into the maildir and notmuch database." },
+ { "search", notmuch_search_command, FALSE,
+ "Search for messages matching the given search terms." },
+ { "address", notmuch_address_command, FALSE,
+ "Get addresses from messages matching the given search terms." },
+ { "show", notmuch_show_command, FALSE,
+ "Show all messages matching the search terms." },
+ { "count", notmuch_count_command, FALSE,
+ "Count messages matching the search terms." },
+ { "reply", notmuch_reply_command, FALSE,
+ "Construct a reply template for a set of messages." },
+ { "tag", notmuch_tag_command, FALSE,
+ "Add/remove tags for all messages matching the search terms." },
+ { "dump", notmuch_dump_command, FALSE,
+ "Create a plain-text dump of the tags for each message." },
+ { "restore", notmuch_restore_command, FALSE,
+ "Restore the tags from the given dump file (see 'dump')." },
+ { "compact", notmuch_compact_command, FALSE,
+ "Compact the notmuch database." },
+ { "config", notmuch_config_command, FALSE,
+ "Get or set settings in the notmuch configuration file." },
+ { "help", notmuch_help_command, TRUE, /* create but don't save config */
+ "This message, or more detailed help for the named command." }
+};