- <b>--format=</b>(<b>json</b>|<b>sexp</b>|<b>text</b>|<b>text0</b>)
-
- Presents the results in either JSON, S-Expressions, newline
- character separated plain-text (default), or null character
- separated plain-text (compatible with <b>xargs</b>(1) -0 option where
- available).
-
- <b>--format-version=N</b>
-
- Use the specified structured output format version. This is
- intended for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If
- omitted, the latest supported version will be used.
-
- <b>--output=(summary|threads|messages|files|tags)</b>
-
- <b>summary</b>
-
- Output a summary of each thread with any message matching
- the search terms. The summary includes the thread ID, date,
- the number of messages in the thread (both the number
- matched and the total number), the authors of the thread
- and the subject.
-
- <b>threads</b>
-
- Output the thread IDs of all threads with any message
- matching the search terms, either one per line (--for-
- mat=text), separated by null characters (--format=text0),
- as a JSON array (--format=json), or an S-Expression list
- (--format=sexp).
-
- <b>messages</b>
-
- Output the message IDs of all messages matching the search
- terms, either one per line (--format=text), separated by
- null characters (--format=text0), as a JSON array (--for-
- mat=json), or as an S-Expression list (--format=sexp).
-
- <b>files</b>
-
- Output the filenames of all messages matching the search
- terms, either one per line (--format=text), separated by
- null characters (--format=text0), as a JSON array (--for-
- mat=json), or as an S-Expression list (--format=sexp).
-
- <b>tags</b>
-
- Output all tags that appear on any message matching the
- search terms, either one per line (--format=text), sepa-
- rated by null characters (--format=text0), as a JSON array
- (--format=json), or as an S-Expression list (--for-
- mat=sexp).
-
- <b>--sort=</b>(<b>newest-first</b>|<b>oldest-first</b>)
-
- This option can be used to present results in either chronolog-
- ical order (<b>oldest-first</b>) or reverse chronological order
- (<b>newest-first</b>).
-
- Note: The thread order will be distinct between these two
- options (beyond being simply reversed). When sorting by <b>old-</b>
- <b>est-first</b> the threads will be sorted by the oldest message in
- each thread, but when sorting by <b>newest-first</b> the threads will
- be sorted by the newest message in each thread.
-
- By default, results will be displayed in reverse chronological
- order, (that is, the newest results will be displayed first).
-
- <b>--offset=[-]N</b>
-
- Skip displaying the first N results. With the leading '-',
- start at the Nth result from the end.
-
- <b>--limit=N</b>
-
- Limit the number of displayed results to N.
+ <b>--format=(json|sexp|text|text0)</b>
+ Presents the results in either JSON, S-Expressions, newline
+ character separated plain-text (default), or null character sep‐
+ arated plain-text (compatible with <b>xargs</b>(1) -0 option where
+ available).
+
+ <b>--format-version=N</b>
+ Use the specified structured output format version. This is in‐
+ tended for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If omit‐
+ ted, the latest supported version will be used.
+
+ <b>--output=(summary|threads|messages|files|tags)</b>
+
+ <b>summary</b>
+ Output a summary of each thread with any message matching
+ the search terms. The summary includes the thread ID,
+ date, the number of messages in the thread (both the num‐
+ ber matched and the total number), the authors of the
+ thread and the subject. In the case where a thread con‐
+ tains multiple files for some messages, the total number
+ of files is printed in parentheses (see below for an ex‐
+ ample).
+
+ <b>threads</b>
+ Output the thread IDs of all threads with any message
+ matching the search terms, either one per line (<b>--for-</b>
+ <b>mat=text</b>), separated by null characters (<b>--format=text0</b>),
+ as a JSON array (<b>--format=json</b>), or an S-Expression list
+ (<b>--format=sexp</b>).
+
+ <b>messages</b>
+ Output the message IDs of all messages matching the
+ search terms, either one per line (<b>--format=text</b>), sepa‐
+ rated by null characters (<b>--format=text0</b>), as a JSON ar‐
+ ray (<b>--format=json</b>), or as an S-Expression list (<b>--for-</b>
+ <b>mat=sexp</b>).
+
+ <b>files</b> Output the filenames of all messages matching the search
+ terms, either one per line (<b>--format=text</b>), separated by
+ null characters (<b>--format=text0</b>), as a JSON array (<b>--for-</b>
+ <b>mat=json</b>), or as an S-Expression list (<b>--format=sexp</b>).
+
+ Note that each message may have multiple filenames asso‐
+ ciated with it. All of them are included in the output
+ (unless limited with the <b>--duplicate=N</b> option). This may
+ be particularly confusing for <b>folder:</b> or <b>path:</b> searches
+ in a specified directory, as the messages may have dupli‐
+ cates in other directories that are included in the out‐
+ put, although these files alone would not match the
+ search.
+
+ <b>tags</b> Output all tags that appear on any message matching the
+ search terms, either one per line (<b>--format=text</b>), sepa‐
+ rated by null characters (<b>--format=text0</b>), as a JSON ar‐
+ ray (<b>--format=json</b>), or as an S-Expression list (<b>--for-</b>
+ <b>mat=sexp</b>).
+
+ <b>--sort=(newest-first|oldest-first)</b>
+ This option can be used to present results in either chronologi‐
+ cal order (<b>oldest-first</b>) or reverse chronological order (<b>new-</b>
+ <b>est-first</b>).
+
+ Note: The thread order will be distinct between these two op‐
+ tions (beyond being simply reversed). When sorting by <b>old-</b>
+ <b>est-first</b> the threads will be sorted by the oldest message in
+ each thread, but when sorting by <b>newest-first</b> the threads will
+ be sorted by the newest message in each thread.
+
+ By default, results will be displayed in reverse chronological
+ order, (that is, the newest results will be displayed first).
+
+ <b>--offset=[-]N</b>
+ Skip displaying the first N results. With the leading '-', start
+ at the Nth result from the end.
+
+ <b>--limit=N</b>
+ Limit the number of displayed results to N.
+
+ <b>--exclude=(true|false|all|flag)</b>
+ A message is called "excluded" if it matches at least one tag in
+ search.exclude_tags that does not appear explicitly in the
+ search terms. This option specifies whether to omit excluded
+ messages in the search process.
+
+ <b>true</b> <b>(default)</b>
+ Prevent excluded messages from matching the search terms.
+
+ <b>all</b> Additionally prevent excluded messages from appearing in
+ displayed results, in effect behaving as though the ex‐
+ cluded messages do not exist.
+
+ <b>false</b> Allow excluded messages to match search terms and appear
+ in displayed results. Excluded messages are still marked
+ in the relevant outputs.
+
+ <b>flag</b> Only has an effect when <b>--output=summary</b>. The output is
+ almost identical to <b>false</b>, but the "match count" is the
+ number of matching non-excluded messages in the thread,
+ rather than the number of matching messages.
+
+ <b>--duplicate=N</b>
+ For <b>--output=files</b>, output the Nth filename associated with each
+ message matching the query (N is 1-based). If N is greater than
+ the number of files associated with the message, don't print
+ anything.
+
+ For <b>--output=messages</b>, only output message IDs of messages
+ matching the search terms that have at least N filenames associ‐
+ ated with them.
+
+ Note that this option is orthogonal with the <b>folder:</b> search pre‐
+ fix. The prefix matches messages based on filenames. This option
+ filters filenames of the matching messages.
+</pre>