if (path_dbtime == 0 || st->st_mtime > path_dbtime) {
state->processed_files++;
+ if (state->verbose) {
+ printf ("\r\033[K%i/%i: %s\r",
+ state->processed_files,
+ state->total_files,
+ next);
+ fflush (stdout);
+ }
+
status = notmuch_database_add_message (notmuch, next, &message);
switch (status) {
/* success */
return NOTMUCH_STATUS_FILE_ERROR;
}
- /* Setup our handler for SIGALRM */
- if (isatty (fileno (stdout)) && ! debugger_is_active ()) {
+ if (isatty (fileno (stdout)) && ! debugger_is_active ()
+ && ! state->verbose)
+ {
+ /* Setup our handler for SIGALRM */
memset (&action, 0, sizeof (struct sigaction));
action.sa_handler = handle_sigalrm;
sigemptyset (&action.sa_mask);
status = add_files_recursive (notmuch, path, &st, state);
- /* Now stop the timer. */
if (timer_is_active) {
+ /* Now stop the timer. */
timerval.it_interval.tv_sec = 0;
timerval.it_interval.tv_usec = 0;
timerval.it_value.tv_sec = 0;
}
int
-notmuch_new_command (void *ctx,
- unused (int argc), unused (char *argv[]))
+notmuch_new_command (void *ctx, int argc, char *argv[])
{
notmuch_config_t *config;
notmuch_database_t *notmuch;
const char *db_path;
char *dot_notmuch_path;
struct sigaction action;
+ int i;
+
+ add_files_state.verbose = 0;
+
+ for (i = 0; i < argc && argv[i][0] == '-'; i++) {
+ if (STRNCMP_LITERAL (argv[i], "--verbose") == 0) {
+ add_files_state.verbose = 1;
+ } else {
+ fprintf (stderr, "Unrecognized option: %s\n", argv[i]);
+ return 1;
+ }
+ }
/* Setup our handler for SIGINT */
memset (&action, 0, sizeof (struct sigaction));
"\t\tInvoking notmuch with no command argument will run setup if\n"
"\t\tthe setup command has not previously been completed." },
{ "new", notmuch_new_command,
- NULL,
- "Find and import new messages to the notmuch database.",
+ "[--verbose]",
+ "\t\tFind and import new messages to the notmuch database.",
"\t\tScans all sub-directories of the mail directory, performing\n"
"\t\tfull-text indexing on new messages that are found. Each new\n"
"\t\tmessage will be tagged as both \"inbox\" and \"unread\".\n"
"\t\tis delivered and you wish to incorporate it into the database.\n"
"\t\tThese subsequent runs will be much quicker than the initial run.\n"
"\n"
+ "\t\tSupported options for new include:\n"
+ "\n"
+ "\t\t--verbose\n"
+ "\n"
+ "\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"