diff options
author | David Bremner <david@tethera.net> | 2021-02-13 13:49:32 -0400 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2021-03-27 09:26:14 -0300 |
commit | 34f734e26b1202cbfbbd06293962571538188fc4 (patch) | |
tree | e49e71c199503117da869c3619939f7bb4babfd5 /notmuch.c | |
parent | ee0e1cfb1748a11f14d7b5381b0fea55faac9567 (diff) |
CLI/setup: switch to new configuration framework
Most of the changes are the elimination of notmuch_config_t accessor
use. We also migrate some of the diagnostics to the top level where we
are opening the files in question.
Diffstat (limited to 'notmuch.c')
-rw-r--r-- | notmuch.c | 21 |
1 files changed, 13 insertions, 8 deletions
@@ -141,9 +141,11 @@ notmuch_process_shared_indexing_options (notmuch_database_t *notmuch) static command_t commands[] = { - { NULL, notmuch_command, NOTMUCH_COMMAND_CONFIG_OPEN | NOTMUCH_COMMAND_CONFIG_CREATE, + { NULL, notmuch_command, NOTMUCH_COMMAND_CONFIG_OPEN | NOTMUCH_COMMAND_CONFIG_CREATE + | NOTMUCH_COMMAND_CONFIG_LOAD, "Notmuch main command." }, - { "setup", notmuch_setup_command, NOTMUCH_COMMAND_CONFIG_OPEN | NOTMUCH_COMMAND_CONFIG_CREATE, + { "setup", notmuch_setup_command, NOTMUCH_COMMAND_CONFIG_OPEN | NOTMUCH_COMMAND_CONFIG_CREATE + | NOTMUCH_COMMAND_CONFIG_LOAD, "Interactively set up notmuch for first use." }, { "new", notmuch_new_command, NOTMUCH_COMMAND_DATABASE_EARLY | NOTMUCH_COMMAND_DATABASE_WRITE | @@ -375,7 +377,7 @@ notmuch_help_command (unused (notmuch_config_t *config), unused(notmuch_database */ static int notmuch_command (notmuch_config_t *config, - unused(notmuch_database_t *notmuch), + notmuch_database_t *notmuch, unused(int argc), unused(char **argv)) { char *db_path; @@ -385,7 +387,7 @@ notmuch_command (notmuch_config_t *config, * notmuch_setup_command which will give a nice welcome message, * and interactively guide the user through the configuration. */ if (notmuch_config_is_new (config)) - return notmuch_setup_command (config, NULL, 0, NULL); + return notmuch_setup_command (config, notmuch, 0, NULL); /* Notmuch is already configured, but is there a database? */ db_path = talloc_asprintf (config, "%s/%s", @@ -569,14 +571,17 @@ main (int argc, char *argv[]) NULL, ¬much, &status_string); - if (status) { + + if (status == NOTMUCH_STATUS_NO_CONFIG && ! (command->mode & NOTMUCH_COMMAND_CONFIG_CREATE)) { + fputs ("Try running 'notmuch setup' to create a configuration.", stderr); + goto DONE; + } + + if (status && (status != NOTMUCH_STATUS_NO_CONFIG)) { if (status_string) { fputs (status_string, stderr); free (status_string); } - - if (status == NOTMUCH_STATUS_NO_CONFIG) - fputs ("Try running 'notmuch setup' to create a configuration.", stderr); goto DONE; } |