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.
87 Return all messages in the same thread as the actual match(es).
89 Using this twice (C<-tt>) sets the C<flagged> (AKA "important")
90 on messages which were actual matches. This is useful to distinguish
91 messages which were direct hits from messages which were merely part
94 TODO: Warning: this flag may become persistent and saved in
95 lei/store unless an MUA unflags it! (Behavior undecided)
97 =item -d STRATEGY, --dedupe=STRATEGY
99 Strategy for deduplicating messages: C<content>, C<oid>, C<mid>, or
105 TODO: Provide description of strategies?
109 Whether to include results requiring network access. When local
110 externals are configured, C<--remote> must be explicitly passed to
111 enable reporting of results from remote externals.
115 Limit operations to those requiring network access.
119 Don't include results from externals.
121 =item -I LOCATION, --include=LOCATION
123 Include specified external in search. This option may be given
126 =item --exclude=LOCATION
128 Exclude specified external from search. This option may be given
131 =item --only=LOCATION
133 Use only the specified external for search. This option may be given
134 multiple times, in which case the search uses only the specified set.
138 Do not match locations using C<*?> wildcards and C<[]> ranges. This
139 option applies to C<--include>, C<--exclude>, and C<--only>.
141 =item --no-import-remote
143 Disable the default behavior of memoizing remote messages into the
148 L<mbox(5)> locking method(s) to use: C<dotlock>, C<fcntl>, C<flock> or
151 Default: fcntl,dotlock
153 =item -NUMBER, -n NUMBER, --limit=NUMBER
155 Limit the number of matches.
159 =item --offset=NUMBER
161 Shift start of search results.
167 Reverse the results. Note that this applies before C<--limit>.
169 =item -s KEY, --sort=KEY
171 Order the results by KEY. Valid keys are C<received>, C<relevance>,
178 Provide more feedback on stderr.
182 Suppress feedback messages.
184 =item --torsocks=auto|no|yes, --no-torsocks
186 Whether to wrap L<git(1)> and L<curl(1)> commands with torsocks.
194 Feedback welcome via plain-text mail to L<mailto:meta@public-inbox.org>
196 The mail archives are hosted at L<https://public-inbox.org/meta/>
197 and L<http://hjrcffqmbrq6wope.onion/meta/>
201 Copyright 2021 all contributors L<mailto:meta@public-inbox.org>
203 License: AGPL-3.0+ L<https://www.gnu.org/licenses/agpl-3.0.txt>
207 L<lei-add-external(1)>,
208 L<Xapian::QueryParser Syntax|https://xapian.org/docs/queryparser.html>