X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=manpages%2Fnotmuch-tag-1.mdwn;h=595dc06939da1e1d5b4b94ddfd87a621c98a3232;hb=59c3b4d66ce19a9dde85e65d5fc5c150e23de209;hp=4d940157831742ca3303e77ac3338fea3ae159b5;hpb=33bb48a14a40bce2ee1e4e8b99347b13706b848c;p=notmuch-wiki diff --git a/manpages/notmuch-tag-1.mdwn b/manpages/notmuch-tag-1.mdwn index 4d94015..595dc06 100644 --- a/manpages/notmuch-tag-1.mdwn +++ b/manpages/notmuch-tag-1.mdwn @@ -2,13 +2,15 @@

NAME

-       notmuch-tag  -  Add/remove  tags  for  all messages matching the search
-       terms.
+       notmuch-tag  -  add/remove  tags  for  all messages matching the search
+       terms
 

SYNOPSIS

-       notmuch tag +<tag>|-<tag> [...] [--] <search-term>...
+       notmuch tag [options...] +<tag>|-<tag> [...] [--] <search-term> [...]
+
+       notmuch tag --batch [ --input=<filename> ]
 

DESCRIPTION

@@ -16,26 +18,94 @@ Add/remove tags for all messages matching the search terms. See notmuch-search-terms(7) for details of the supported syntax for - <search-terms>. + <search-term>. Tags prefixed by '+' are added while those prefixed by '-' are removed. - For each message, tag removal is performed before tag addition. + For each message, tag changes are applied in the order they appear on + the command line. - The beginning of <search-terms> is recognized by the first argument - that begins with neither '+' nor '-'. Support for an initial search - term beginning with '+' or '-' is provided by allowing the user to + The beginning of the search terms is recognized by the first argument + that begins with neither '+' nor '-'. Support for an initial search + term beginning with '+' or '-' is provided by allowing the user to specify a "--" argument to separate the tags from the search terms. - notmuch tag updates the maildir flags according to tag changes if the + notmuch tag updates the maildir flags according to tag changes if the maildir.synchronize_flags configuration option is enabled. See notmuch- config(1) for details. + + Supported options for tag include + + --remove-all + + Remove all tags from each message matching the search terms + before applying the tag changes appearing on the command line. + This means setting the tags of each message to the tags to be + added. If there are no tags to be added, the messages will have + no tags. + + --batch + + Read batch tagging operations from a file (stdin by default). + This is more efficient than repeated notmuch tag invocations. + See TAG FILE FORMAT below for the input format. This option is + not compatible with specifying tagging on the command line. + + --input=<filename> + + Read input from given file, instead of from stdin. Implies + --batch. + + +

TAG FILE FORMAT

+
+       The input must consist of lines of the format:
+
+       +<tag>|-<tag> [...] [--] <query>
+
+       Each  line  is  interpreted  similarly  to  notmuch  tag  command  line
+       arguments.  The  delimiter is one or more spaces ' '. Any characters in
+       <tag> may be hex-encoded with %NN where NN is the hexadecimal value  of
+       the character. To hex-encode a character with a multi-byte UTF-8 encod-
+       ing, hex-encode each byte.  Any spaces in <tag> must be hex-encoded  as
+       %20. Any characters that are not part of <tag> must not be hex-encoded.
+
+       In the future tag:"tag with spaces" style quoting may be supported  for
+       <tag>  as  well;  for  this reason all double quote characters in <tag>
+       should be hex-encoded.
+
+       The <query> should be quoted using Xapian boolean term  quoting  rules:
+       if  a term contains whitespace or a close paren or starts with a double
+       quote, it must be enclosed in double quotes (not including any  prefix)
+       and  double quotes inside the term must be doubled (see below for exam-
+       ples).
+
+       Leading and trailing space ' ' is ignored. Empty lines and lines begin-
+       ning with '#' are ignored.
+
+ +

  EXAMPLE

+
+       The  following shows a valid input to batch tagging. Note that only the
+       isolated '*' acts as a wildcard. Also note the two  different  quotings
+       of the tag space in tags
+              +winner *
+              +foo::bar%25 -- (One and Two) or (One and tag:winner)
+              +found::it -- tag:foo::bar%
+              # ignore this line and the next
+
+              +space%20in%20tags -- Two
+              # add tag '(tags)', among other stunts.
+              +crazy{ +(tags) +&are +#possible -- tag:"space in tags"
+              +match*crazy -- tag:crazy{
+              +some_tag -- id:"this is ""nauty)"""
 

SEE ALSO

        notmuch(1),  notmuch-config(1), notmuch-count(1), notmuch-dump(1), not-
-       much-hooks(5),  notmuch-new(1),  notmuch-reply(1),  notmuch-restore(1),
-       notmuch-search(1), notmuch-search-terms(7), notmuch-show(1),
+       much-hooks(5),  notmuch-insert(1),  notmuch-new(1),   notmuch-reply(1),
+       notmuch-restore(1),  notmuch-search(1),  notmuch-search-terms(7),  not-
+       much-show(1),
 
-

Notmuch 0.13.2

+

Notmuch 0.17