-typedef struct {
- int ignore_read_only_directories;
- int saw_read_only_directory;
-
- int total_files;
- int processed_files;
- int added_messages;
- struct timeval tv_start;
-} add_files_state_t;
-
-static void
-chomp_newline (char *str)
-{
- if (str && str[strlen(str)-1] == '\n')
- str[strlen(str)-1] = '\0';
-}
-
-/* Compute the number of seconds elapsed from start to end. */
-static double
-tv_elapsed (struct timeval start, struct timeval end)
-{
- return ((end.tv_sec - start.tv_sec) +
- (end.tv_usec - start.tv_usec) / 1e6);
-}
-
-static void
-print_formatted_seconds (double seconds)
-{
- int hours;
- int minutes;
-
- if (seconds < 1) {
- printf ("almost no time");
- return;
- }
-
- if (seconds > 3600) {
- hours = (int) seconds / 3600;
- printf ("%dh ", hours);
- seconds -= hours * 3600;
- }
-
- if (seconds > 60) {
- minutes = (int) seconds / 60;
- printf ("%dm ", minutes);
- seconds -= minutes * 60;
- }
+static int
+notmuch_help_command (void *ctx, int argc, char *argv[]);
+
+static command_t commands[] = {
+ { "setup", notmuch_setup_command,
+ NULL,
+ "Interactively setup notmuch for first use." },
+ { "new", notmuch_new_command,
+ "[options...]",
+ "Find and import new messages to the notmuch database." },
+ { "search", notmuch_search_command,
+ "[options...] <search-terms> [...]",
+ "Search for messages matching the given search terms." },
+ { "show", notmuch_show_command,
+ "<search-terms> [...]",
+ "Show all messages matching the search terms." },
+ { "count", notmuch_count_command,
+ "[options...] <search-terms> [...]",
+ "Count messages matching the search terms." },
+ { "reply", notmuch_reply_command,
+ "[options...] <search-terms> [...]",
+ "Construct a reply template for a set of messages." },
+ { "tag", notmuch_tag_command,
+ "+<tag>|-<tag> [...] [--] <search-terms> [...]" ,
+ "Add/remove tags for all messages matching the search terms." },
+ { "dump", notmuch_dump_command,
+ "[<filename>] [--] [<search-terms>]",
+ "Create a plain-text dump of the tags for each message." },
+ { "restore", notmuch_restore_command,
+ "[--accumulate] [<filename>]",
+ "Restore the tags from the given dump file (see 'dump')." },
+ { "config", notmuch_config_command,
+ "[get|set] <section>.<item> [value ...]",
+ "Get or set settings in the notmuch configuration file." },
+ { "help", notmuch_help_command,
+ "[<command>]",
+ "This message, or more detailed help for the named command." }
+};