X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=tag-util.h;h=a2f0ddfaa280b5d3e743efba6976581ac793c1a9;hp=c07bfde5013fb720c93d15fa7653df185ce1276d;hb=e4890b5bf9e2260b36bcc36ddb77d8e97e2abe7d;hpb=ba4e8565294fc0a197b4c08082ad912c31888008 diff --git a/tag-util.h b/tag-util.h index c07bfde5..a2f0ddfa 100644 --- a/tag-util.h +++ b/tag-util.h @@ -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: + * + * +|- [...] [--] + * + * 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,14 +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 (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. @@ -128,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