3 lei-q - search for messages matching terms
7 lei q [OPTIONS] TERM [TERM...]
9 lei q [OPTIONS] (--stdin|-)
13 Search for messages across the lei store and externals.
16 TODO: Give common prefixes, or at least a description/reference.
21 TODO: mention curl options?
27 Read search terms from stdin.
29 =item -o MFOLDER, --output=MFOLDER, --mfolder=MFOLDER
31 Destination for results (e.g., C<path/to/Maildir>,
32 C<imaps://user@mail.example.com/INBOX.test>, or
33 C<mboxcl2:path/to/mbox>). The prefix may be a supported protocol:
34 C<imap://>, C<imaps://>, C<nntp://>, or C<nntps://>. URLs requiring
35 authentication must use L<netrc(5)> and/or L<git-credential(1)> to
36 fill in the username and password.
38 The prefix can instead specify the format of the output: C<maildir>,
39 C<mboxrd>, C<mboxcl2>, C<mboxcl>, C<mboxo>, C<json>, C<jsonl>, or
40 C<concatjson>. When a format isn't specified, it's chosen based on
41 the destination. C<json> is used for the default destination
42 (stdout), and C<maildir> is used for an existing directory or
46 TODO: Provide description of formats?
50 =item -f FORMAT, --format=FORMAT
52 Format of results. This option exists as a convenient way to specify
53 the format for the default stdout destination. Using a C<format:>
54 prefix with the C<--output> destination is preferred otherwise.
58 Pretty print C<json> or C<concatjson> output. If stdout is opened to
59 a tty and used as the C<--output> destination, C<--pretty> is enabled
64 A command to run on C<--output> Maildir or mbox (e.g., C<mutt -f %f>).
65 For a subset of MUAs known to accept a mailbox via C<-f>, COMMAND can
66 be abbreviated to the name of the program: C<mutt>, C<mailx>, C<mail>,
69 =item --alert=COMMAND[,COMMAND...]
71 Run C<COMMAND> after writing to output. C<:WINCH> indicates to send
72 C<SIGWINCH> to the C<--mua> process. C<:bell> indicates to print a
73 bell code. Any other value is interpreted as a command to execute as
76 This option may be given multiple times.
78 Default: C<:WINCH,:bell> when C<--mua> is specified and C<--output>
79 doesn't point to stdout, nothing otherwise.
83 Augment output destination instead of clobbering it.
85 =item --no-import-before
87 Do not importing keywords before writing to an existing output
92 Return all messages in the same thread as the actual match(es).
94 Using this twice (C<-tt>) sets the C<flagged> (AKA "important")
95 on messages which were actual matches. This is useful to distinguish
96 messages which were direct hits from messages which were merely part
99 TODO: Warning: this flag may become persistent and saved in
100 lei/store unless an MUA unflags it! (Behavior undecided)
102 =item -d STRATEGY, --dedupe=STRATEGY
104 Strategy for deduplicating messages: C<content>, C<oid>, C<mid>, or
110 TODO: Provide description of strategies?
114 Whether to include results requiring network access. When local
115 externals are configured, C<--remote> must be explicitly passed to
116 enable reporting of results from remote externals.
120 Limit operations to those requiring network access.
124 Don't include results from externals.
126 =item -I LOCATION, --include=LOCATION
128 Include specified external in search. This option may be given
131 =item --exclude=LOCATION
133 Exclude specified external from search. This option may be given
136 =item --only=LOCATION
138 Use only the specified external for search. This option may be given
139 multiple times, in which case the search uses only the specified set.
143 Do not match locations using C<*?> wildcards and C<[]> ranges. This
144 option applies to C<--include>, C<--exclude>, and C<--only>.
146 =item --no-import-remote
148 Disable the default behavior of memoizing remote messages into the
153 L<mbox(5)> locking method(s) to use: C<dotlock>, C<fcntl>, C<flock> or
156 Default: fcntl,dotlock
158 =item -NUMBER, -n NUMBER, --limit=NUMBER
160 Limit the number of matches.
164 =item --offset=NUMBER
166 Shift start of search results.
172 Reverse the results. Note that this applies before C<--limit>.
174 =item -s KEY, --sort=KEY
176 Order the results by KEY. Valid keys are C<received>, C<relevance>,
183 Provide more feedback on stderr.
187 Suppress feedback messages.
189 =item --torsocks=auto|no|yes, --no-torsocks
191 Whether to wrap L<git(1)> and L<curl(1)> commands with torsocks.
199 Feedback welcome via plain-text mail to L<mailto:meta@public-inbox.org>
201 The mail archives are hosted at L<https://public-inbox.org/meta/>
202 and L<http://hjrcffqmbrq6wope.onion/meta/>
206 Copyright 2021 all contributors L<mailto:meta@public-inbox.org>
208 License: AGPL-3.0+ L<https://www.gnu.org/licenses/agpl-3.0.txt>
212 L<lei-add-external(1)>,
213 L<Xapian::QueryParser Syntax|https://xapian.org/docs/queryparser.html>