]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-setup.c
cli: config: make notmuch_config_open() "is new" parameter input only
[notmuch] / notmuch-setup.c
index 307231d51b55f8ea13c7358839db86cc3f7df4dd..72d862aba691b66602ff3b99fc2fc99e962524a9 100644 (file)
@@ -130,9 +130,10 @@ notmuch_setup_command (unused (void *ctx),
     size_t old_other_emails_len;
     GPtrArray *other_emails;
     unsigned int i;
-    int is_new;
     const char **new_tags;
     size_t new_tags_len;
+    const char **search_exclude_tags;
+    size_t search_exclude_tags_len;
 
 #define prompt(format, ...)                                    \
     do {                                                       \
@@ -145,9 +146,9 @@ notmuch_setup_command (unused (void *ctx),
        chomp_newline (response);                               \
     } while (0)
 
-    config = notmuch_config_open (ctx, NULL, &is_new);
+    config = notmuch_config_open (ctx, NULL, TRUE);
 
-    if (is_new)
+    if (notmuch_config_is_new (config))
        welcome_message_pre_setup ();
 
     prompt ("Your full name [%s]: ", notmuch_config_get_user_name (config));
@@ -209,10 +210,25 @@ notmuch_setup_command (unused (void *ctx),
     }
 
 
-    /* Temporarily remove exclude tag support for 0.12 */
+    search_exclude_tags = notmuch_config_get_search_exclude_tags (config, &search_exclude_tags_len);
+
+    printf ("Tags to exclude when searching messages (separated by spaces) [");
+    print_tag_list (search_exclude_tags, search_exclude_tags_len);
+    prompt ("]: ");
+
+    if (strlen (response)) {
+       GPtrArray *tags = parse_tag_list (ctx, response);
+
+       notmuch_config_set_search_exclude_tags (config,
+                                               (const char **) tags->pdata,
+                                               tags->len);
+
+       g_ptr_array_free (tags, TRUE);
+    }
+
 
     if (! notmuch_config_save (config)) {
-       if (is_new)
+       if (notmuch_config_is_new (config))
          welcome_message_post_setup ();
        return 0;
     } else {