]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch.1
new: Defer updating directory mtimes until the end.
[notmuch] / notmuch.1
index 1919176e79ca52aa64e3113bace55b7a5c671263..5a8c83dc6b534ba58889708897cbbe23353adba7 100644 (file)
--- a/notmuch.1
+++ b/notmuch.1
@@ -153,7 +153,7 @@ Presents the results in either JSON or plain-text (default).
 
 .RS 4
 .TP 4
-.B \-\-output=(summary|threads|messages|tags)
+.B \-\-output=(summary|threads|messages|files|tags)
 
 .RS 4
 .TP 4
@@ -169,24 +169,31 @@ the authors of the thread and the subject.
 .B threads
 
 Output the thread IDs of all threads with any message matching the
-search terms, either one per line (--format=text) or as a JSON array
-(--format=json).
+search terms, either one per line (\-\-format=text) or as a JSON array
+(\-\-format=json).
 .RE
 .RS 4
 .TP 4
 .B messages
 
 Output the message IDs of all messages matching the search terms,
-either one per line (--format=text) or as a JSON array
-(--format=json).
+either one per line (\-\-format=text) or as a JSON array
+(\-\-format=json).
+.RE
+.RS 4
+.TP 4
+.B files
+
+Output the filenames of all messages matching the search terms, either
+one per line (\-\-format=text) or as a JSON array (\-\-format=json).
 .RE
 .RS 4
 .TP 4
 .B tags
 
 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).
+either one per line (\-\-format=text) or as a JSON array
+(\-\-format=json).
 .RE
 .RE
 
@@ -241,11 +248,11 @@ matched message will be displayed.
 
 .RS 4
 .TP 4
-.B \-\-format=(text|json|mbox)
+.B \-\-format=(text|json|mbox|raw)
 
 .RS 4
 .TP 4
-.B text
+.BR text " (default for messages)"
 
 The default plain-text format has all text-content MIME parts
 decoded. Various components in the output,
@@ -253,7 +260,8 @@ decoded. Various components in the output,
 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.
+or close the component. For a multipart MIME message, these parts will
+be nested.
 .RE
 .RS 4
 .TP 4
@@ -261,8 +269,9 @@ or close the component.
 
 The output is formatted with Javascript Object Notation (JSON). This
 format is more robust than the text format for automated
-processing. JSON output always includes all messages in a matching
-thread; in effect
+processing. The nested structure of multipart MIME messages is
+reflected in nested JSON output. JSON output always includes all
+messages in a matching thread; in effect
 .B \-\-format=json
 implies
 .B \-\-entire\-thread
@@ -278,8 +287,62 @@ 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:
+
+.nf
+.nh
 http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html
+.hy
+.fi
+.
+.RE
+.RS 4
+.TP 4
+.BR raw " (default for a single part, see \-\-part)"
+
+For a message, 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.
+
+The raw format must only be used with search terms matching single
+message.
+.RE
+.RE
+
+.RS 4
+.TP 4
+.B \-\-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' or 'text' output formats.
 .RE
+
+.RS 4
+.TP 4
+.B \-\-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 the multipart/signed part will be replaced by the
+signed data.
+.RE
+
+.RS 4
+.TP 4
+.B \-\-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 the
+multipart/encrypted part will be replaced by the decrypted
+content.
+.RE
+
 A common use of
 .B notmuch show
 is to display a single thread of email messages. For this, use a
@@ -292,7 +355,8 @@ See the
 .B "SEARCH SYNTAX"
 section below for details of the supported syntax for <search-terms>.
 .RE
-.TP
+.RS 4
+.TP 4
 .BR count " <search-term>..."
 
 Count messages matching the search terms.
@@ -420,7 +484,7 @@ sup calls them).
 
 The
 .B part
-command can used to output a single part of a multi-part MIME message.
+command can used to output a single part of a multipart MIME message.
 
 .RS 4
 .TP 4
@@ -509,6 +573,8 @@ terms to match against specific portions of an email, (where
 
        thread:<thread-id>
 
+       folder:<directory-path>
+
 The
 .B from:
 prefix is used to match the name or address of the sender of an email
@@ -552,6 +618,13 @@ internally by notmuch (and do not appear in email messages). These
 thread ID values can be seen in the first column of output from
 .B "notmuch search"
 
+The
+.B folder:
+prefix can be used to search for email message files that are
+contained within particular directories within the mail store. Only
+the directory components below the top-level mail database path are
+available to be searched.
+
 In addition to individual terms, multiple terms can be
 combined with Boolean operators (
 .BR and ", " or ", " not
@@ -568,13 +641,13 @@ expression).
 Finally, results can be restricted to only messages within a
 particular time range, (based on the Date: header) with a syntax of:
 
-       <intial-timestamp>..<final-timestamp>
+       <initial-timestamp>..<final-timestamp>
 
 Each timestamp is a number representing the number of seconds since
 1970\-01\-01 00:00:00 UTC. This is not the most convenient means of
 expressing date ranges, but until notmuch is fixed to accept a more
 convenient form, one can use the date program to construct
-timestamps. For example, with the bash shell the folowing syntax would
+timestamps. For example, with the bash shell the following syntax would
 specify a date range to return messages from 2009\-10\-01 until the
 current time: