<h2>NAME</h2>
<pre>
- notmuch-search - Search for messages matching the given search terms.
+ notmuch-search - search for messages matching the given search terms
</pre>
<h2>SYNOPSIS</h2>
Supported options for <b>search</b> include
- <b>--format=</b>(<b>json</b>|<b>text</b>)
+ <b>--format=</b>(<b>json</b>|<b>sexp</b>|<b>text</b>|<b>text0</b>)
- Presents the results in either JSON or plain-text (default).
+ 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
+ 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
+ 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) or as a JSON array (--format=json).
+ 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) or as a JSON
- array (--format=json).
+ 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) or as a JSON
- array (--format=json).
+ 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) or as a
- JSON array (--format=json).
+ 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>new-</b>
- <b>est-first</b>).
+ 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
+ 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
+ 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 '-',
+ Skip displaying the first N results. With the leading '-',
start at the Nth result from the end.
<b>--limit=N</b>
<b>--exclude=(true|false|flag)</b>
- Specify whether to omit messages matching search.tag_exclude
- from the search results (the default) or not. The extra option
- <b>flag</b> only has an effect when <b>--output=summary</b> In this case all
+ Specify whether to omit messages matching search.tag_exclude
+ from the search results (the default) or not. The extra option
+ <b>flag</b> only has an effect when <b>--output=summary</b> In this case all
matching threads are returned but the "match count" is the num-
ber of matching non-excluded messages in the thread.
</pre>
+<h2>EXIT STATUS</h2>
+<pre>
+ This command supports the following special exit status codes
+
+ <b>20</b> The requested format version is too old.
+
+ <b>21</b> The requested format version is too new.
+</pre>
+
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not-</a>
- <a href='../notmuch-hooks-5/'>much-hooks</a>(5)
-, <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not-</a>
+ <a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
<a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
</pre>
-<h2>Notmuch 0.13.2</h2>
+<h2>Notmuch 0.15.2</h2>