X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=manpages%2Fnotmuch-tag-1.mdwn;h=29a1a8996508bc985b76f7aaa070327b16764690;hb=ad04c8c6b3d8c29a905d9f5f92256fc2bd64be5e;hp=78368d9d41609b9b520a566056298bf15eafaa78;hpb=316360b4ab00619d2e80d8c18eeaf1ac5cbcaecf;p=obsolete%2Fnotmuch-wiki diff --git a/manpages/notmuch-tag-1.mdwn b/manpages/notmuch-tag-1.mdwn index 78368d9..29a1a89 100644 --- a/manpages/notmuch-tag-1.mdwn +++ b/manpages/notmuch-tag-1.mdwn @@ -8,7 +8,9 @@

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  argu-
+       ments. 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 encoding,
+       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),
+       notmuch(1), notmuch-config(1), notmuch-count(1), notmuch-dump(1),  not-
+       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.16