mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
89f78d38c1
Currently, notmuch has an address completion mechanism that requires external command to provide completion candidates. This commit adds a completion mechanism inspired by https://github.com/tjim/nevermore, which is implemented in Emacs lisp only. The preexisting address completion mechanism, activated by pressing TAB on To/Cc lines, is extended to use the new mechanism when notmuch-address-command to 'internal, which is the new default. The core of the new mechanism is the function notmuch-address-harvest, which collects the completion candidates from the notmuch database and stores them in notmuch-address-completions variable. The address harvesting can run either synchronously (same as with the previous mechanism) or asynchronously. When the user presses TAB for the first time, synchronous harvesting limited to user entered text is performed. If the entered text is reasonably long, this operation is relatively fast. Then, asynchronous harvesting over the full database is triggered. This operation may take long time (minutes on rotating disk). After it finishes, no harvesting is normally performed again and subsequent completion requests use the harvested data cached in memory. Completion cache is updated after 24 hours. Note that this commit restores (different) completion functionality for users when the user used external command named "notmuch-addresses", i.e. the old default. The result will be that the user will use the new mechanism instead of this command. I believe that many users may not even recognize this because the new mechanism works the same as http://commonmeasure.org/~jkr/git/notmuch_addresses.git and perhaps also as other commands suggested at http://notmuchmail.org/emacstips/#address_completion. [This feature was significantly improved by David Bremner and Mark Walters] |
||
---|---|---|
.. | ||
.gitignore | ||
coolj.el | ||
make-deps.el | ||
Makefile | ||
Makefile.local | ||
notmuch-address.el | ||
notmuch-crypto.el | ||
notmuch-hello.el | ||
notmuch-jump.el | ||
notmuch-lib.el | ||
notmuch-logo.png | ||
notmuch-maildir-fcc.el | ||
notmuch-message.el | ||
notmuch-mua.el | ||
notmuch-parser.el | ||
notmuch-print.el | ||
notmuch-query.el | ||
notmuch-show.el | ||
notmuch-tag.el | ||
notmuch-tree.el | ||
notmuch-version.el.tmpl | ||
notmuch-wash.el | ||
notmuch.el |