]> git.notmuchmail.org Git - notmuch/blobdiff - tag-util.h
indexopts: change _try_decrypt to _decrypt_policy
[notmuch] / tag-util.h
index 99b0fa0b41636dc162214f16aa9b0a0888bfa0c4..a2f0ddfaa280b5d3e743efba6976581ac793c1a9 100644 (file)
@@ -72,6 +72,35 @@ parse_tag_line (void *ctx, char *line,
                tag_op_flag_t flags,
                char **query_str, tag_op_list_t *ops);
 
+
+
+/* Parse a command line of the following format:
+ *
+ * +<tag>|-<tag> [...] [--] <search-terms>
+ *
+ * Output Parameters:
+ *     ops     contains a list of tag operations
+ *     query_str the search terms.
+ *
+ * The ops argument is not cleared.
+ */
+
+tag_parse_status_t
+parse_tag_command_line (void *ctx, int argc, char **argv,
+                       char **query_str, tag_op_list_t *ops);
+
+/*
+ * Test tags for some forbidden cases.
+ *
+ * Relax the checks if 'remove' is true to allow removal of previously
+ * added forbidden tags.
+ *
+ * return: NULL if OK,
+ *        explanatory message otherwise.
+ */
+const char *
+illegal_tag (const char *tag, bool remove);
+
 /*
  * Create an empty list of tag operations
  *
@@ -82,15 +111,14 @@ tag_op_list_t *
 tag_op_list_create (void *ctx);
 
 /*
- * Add a tag operation (delete iff remove == TRUE) to a list.
+ * Add a tag operation (delete iff remove == true) to a list.
  * The list is expanded as necessary.
  */
 
 int
-tag_op_list_append (void *ctx,
-                   tag_op_list_t *list,
+tag_op_list_append (tag_op_list_t *list,
                    const char *tag,
-                   notmuch_bool_t remove);
+                   bool remove);
 
 /*
  * Apply a list of tag operations, in order, to a given message.
@@ -129,7 +157,7 @@ tag_op_list_tag (const tag_op_list_t *list, size_t i);
  *   Is the i'th tag operation a remove?
  */
 
-notmuch_bool_t
+bool
 tag_op_list_isremove (const tag_op_list_t *list, size_t i);
 
 #endif