X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=Documentation%2Flei-overview.pod;h=99fd6ef72174e5759669a4131f9563d04e2ee0bb;hb=ab02e4a584a4ed3ce457f24ccc058522344fc6cd;hp=62b62280ad2ddd69f28c4b401eb8a0270ffd250b;hpb=56b3493c79087979f10f5a3cae7deedaf4ec9fa3;p=public-inbox.git diff --git a/Documentation/lei-overview.pod b/Documentation/lei-overview.pod index 62b62280..99fd6ef7 100644 --- a/Documentation/lei-overview.pod +++ b/Documentation/lei-overview.pod @@ -9,16 +9,34 @@ provides some basic examples. =head1 LEI STORE -L initializes writable local storage based on -L. +lei has writable local storage based on L. +Commands will automatically initialize the store behind the scenes if +needed, but you can call L directly if you want to use a +store location other than the default C<$XDG_DATA_HOME/lei/store>. + +The L command provides the primary interface for +importing messages into the local storage. In addition, other +commands, such as L and L, use the local store +to memoize messages from remotes. =head2 EXAMPLES =over -=item $ lei import mboxrd:t.mbox +=item $ lei import mboxrd:t.mbox.gz + +Import the messages from a gzipped mboxrd into the local storage. + +=item $ lei blob 59ec517f9 -Import the messages from an mbox into the local storage. +Show message with the git blob OID of 59ec517f9. If a message with +that OID isn't found, check if the current git repository has the +blob, trying to reconstruct it from a message if needed. + +=item $ lei blob 59ec517f9 | lei tag -F eml +kw:flagged +L:next + +Set the "flagged" keyword and "next" label on the message with the +blob OID of 59ec517f9. =back @@ -64,22 +82,75 @@ Search for messages whose subject includes "lei" and "skeleton". Do the same, but also report unmatched messages that are in the same thread as a matched message. -=item $ lei q -t -o mboxcl2:t.mbox --mua=mutt s:lei s:skeleton +=item $ lei q -t -o /tmp/mdir --mua=mutt s:lei s:skeleton + +Write results to a Maildir at "mdir". Mutt will be invoked +to open mfolder (C) while results are being fetched +and written. + +=item $ lei q kw:flagged L:next + +Search for all flagged messages that also have a "next" label. + +=item $ lei p2q HEAD | lei q -tt -o /tmp/mdir + +Search for messages that have post-image git blob IDs that match those +of the current repository's HEAD commit, writing them to the Maildir +directory "mdir" and flagging the messages that were an exact match. + +=item $ git show -s HEAD | lei lcat -Write mboxcl2-formatted results to t.mbox and enter mutt to view the -file by invoking C. +Display a local message for the public-inbox link contained in a +commit message. + +=item $ lei q -f text m:MESSAGE-ID | lei rediff -U5 + +Feed a message containing a diff to L to regenerate its +diff with five context lines. Unless C<--git-dir> is specified, this +requires the current working directory to be within the associated +code repository. =back +=head1 PERFORMANCE NOTES + +L is required, lei runs as a background daemon to reduce +startup costs and can provide real-time L/L +Maildir monitoring. L (p5-IO-KQueue on FreeBSD) and +L (liblinux-inotify2-perl and perl-Linux-Inotify2 in +.deb and .rpm-based distros, respectively) are recommended. + +L is optional (libsocket-msghdr-perl in Debian), +and further improves startup performance. Its effect is most felt +when using shell completion. + +=head1 BASH COMPLETION + +Preliminary Bash completion for lei is provided in +C. Contributions adding support for other +shells, as well as improvements to the existing Bash completion, are +welcome. + +=head1 UPGRADING + +Since lei runs as a daemon, L is required to kill +the daemon so it can load new code. It will be restarted with the +next invocation of any lei command. + +=head1 CAVEATS + +IMAP and NNTP client performance is poor on high-latency connections. +It will hopefully be fixed in 2022. + =head1 CONTACT Feedback welcome via plain-text mail to L -The mail archives are hosted at L -and L +The mail archives are hosted at L and +L =head1 COPYRIGHT -Copyright 2021 all contributors L +Copyright all contributors L License: AGPL-3.0+ L