aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/man1/notmuch-show.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/man1/notmuch-show.rst')
-rw-r--r--doc/man1/notmuch-show.rst179
1 files changed, 179 insertions, 0 deletions
diff --git a/doc/man1/notmuch-show.rst b/doc/man1/notmuch-show.rst
new file mode 100644
index 00000000..bad868be
--- /dev/null
+++ b/doc/man1/notmuch-show.rst
@@ -0,0 +1,179 @@
+============
+notmuch-show
+============
+
+SYNOPSIS
+========
+
+**notmuch** **show** [*option* ...] <*search-term*> ...
+
+DESCRIPTION
+===========
+
+Shows all messages matching the search terms.
+
+See **notmuch-search-terms(7)** for details of the supported syntax for
+<search-terms>.
+
+The messages will be grouped and sorted based on the threading (all
+replies to a particular message will appear immediately after that
+message in date order). The output is not indented by default, but depth
+tags are printed so that proper indentation can be performed by a
+post-processor (such as the emacs interface to notmuch).
+
+Supported options for **show** include
+
+ ``--entire-thread=(true|false)``
+ If true, **notmuch show** outputs all messages in the thread of
+ any message matching the search terms; if false, it outputs only
+ the matching messages. For ``--format=json`` and
+ ``--format=sexp`` this defaults to true. For other formats, this
+ defaults to false.
+
+ ``--format=(text|json|sexp|mbox|raw)``
+
+ **text** (default for messages)
+ The default plain-text format has all text-content MIME
+ parts decoded. Various components in the output,
+ (**message**, **header**, **body**, **attachment**, and MIME
+ **part**), will be delimited by easily-parsed markers. Each
+ marker consists of a Control-L character (ASCII decimal 12),
+ the name of the marker, and then either an opening or
+ closing brace, ('{' or '}'), to either open or close the
+ component. For a multipart MIME message, these parts will be
+ nested.
+
+ **json**
+ The output is formatted with Javascript Object Notation
+ (JSON). This format is more robust than the text format for
+ automated processing. The nested structure of multipart MIME
+ messages is reflected in nested JSON output. By default JSON
+ output includes all messages in a matching thread; that is,
+ by default,
+
+ ``--format=json`` sets ``--entire-thread`` The caller can
+ disable this behaviour by setting ``--entire-thread=false``
+
+ **sexp**
+ The output is formatted as an S-Expression (sexp). This
+ format is more robust than the text format for automated
+ processing. The nested structure of multipart MIME messages
+ is reflected in nested S-Expression output. By default,
+ S-Expression output includes all messages in a matching
+ thread; that is, by default,
+
+ ``--format=sexp`` sets ``--entire-thread`` The caller can
+ disable this behaviour by setting ``--entire-thread=false``
+
+ **mbox**
+ All matching messages are output in the traditional, Unix
+ mbox format with each message being prefixed by a line
+ beginning with "From " and a blank line separating each
+ message. Lines in the message content beginning with "From "
+ (preceded by zero or more '>' characters) have an additional
+ '>' character added. This reversible escaping is termed
+ "mboxrd" format and described in detail here:
+
+ http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html
+
+ **raw** (default for a single part, see --part)
+ For a message or an attached message part, the original, raw
+ content of the email message is output. Consumers of this
+ format should expect to implement MIME decoding and similar
+ functions.
+
+ For a single part (--part) the raw part content is output
+ after performing any necessary MIME decoding. Note that
+ messages with a simple body still have two parts: part 0 is
+ the whole message and part 1 is the body.
+
+ For a multipart part, the part headers and body (including
+ all child parts) is output.
+
+ The raw format must only be used with search terms matching
+ single message.
+
+ ``--format-version=N``
+ Use the specified structured output format version. This is
+ intended for programs that invoke **notmuch(1)** internally. If
+ omitted, the latest supported version will be used.
+
+ ``--part=N``
+ Output the single decoded MIME part N of a single message. The
+ search terms must match only a single message. Message parts are
+ numbered in a depth-first walk of the message MIME structure,
+ and are identified in the 'json', 'sexp' or 'text' output
+ formats.
+
+ ``--verify``
+ Compute and report the validity of any MIME cryptographic
+ signatures found in the selected content (ie. "multipart/signed"
+ parts). Status of the signature will be reported (currently only
+ supported with --format=json and --format=sexp), and the
+ multipart/signed part will be replaced by the signed data.
+
+ ``--decrypt``
+ Decrypt any MIME encrypted parts found in the selected content
+ (ie. "multipart/encrypted" parts). Status of the decryption will
+ be reported (currently only supported with --format=json and
+ --format=sexp) and on successful decryption the
+ multipart/encrypted part will be replaced by the decrypted
+ content.
+
+ Decryption expects a functioning **gpg-agent(1)** to provide any
+ needed credentials. Without one, the decryption will fail.
+
+ Implies --verify.
+
+ ``--exclude=(true|false)``
+ Specify whether to omit threads only matching
+ search.tag\_exclude from the search results (the default) or
+ not. In either case the excluded message will be marked with the
+ exclude flag (except when output=mbox when there is nowhere to
+ put the flag).
+
+ If --entire-thread is specified then complete threads are
+ returned regardless (with the excluded flag being set when
+ appropriate) but threads that only match in an excluded message
+ are not returned when ``--exclude=true.``
+
+ The default is ``--exclude=true.``
+
+ ``--body=(true|false)``
+ If true (the default) **notmuch show** includes the bodies of
+ the messages in the output; if false, bodies are omitted.
+ ``--body=false`` is only implemented for the json and sexp
+ formats and it is incompatible with ``--part > 0.``
+
+ This is useful if the caller only needs the headers as body-less
+ output is much faster and substantially smaller.
+
+ ``--include-html``
+ Include "text/html" parts as part of the output (currently only
+ supported with --format=json and --format=sexp). By default,
+ unless ``--part=N`` is used to select a specific part or
+ ``--include-html`` is used to include all "text/html" parts, no
+ part with content type "text/html" is included in the output.
+
+A common use of **notmuch show** is to display a single thread of email
+messages. For this, use a search term of "thread:<thread-id>" as can be
+seen in the first column of output from the **notmuch search** command.
+
+EXIT STATUS
+===========
+
+This command supports the following special exit status codes
+
+``20``
+ The requested format version is too old.
+
+``21``
+ The requested format version is too new.
+
+SEE ALSO
+========
+
+**notmuch(1)**, **notmuch-config(1)**, **notmuch-count(1)**,
+**notmuch-dump(1)**, **notmuch-hooks(5)**, **notmuch-insert(1)**,
+**notmuch-new(1)**, **notmuch-reply(1)**, **notmuch-restore(1)**,
+**notmuch-search(1)**, **notmuch-search-terms(7)**, **notmuch-tag(1)**