SHA256
1
1
Fork
You've already forked cape-bbdb
0
Emacs package to complete names and email found in BBDB database for corfu.
  • Emacs Lisp 100%
2026年05月17日 12:50:02 +02:00
cape-bbdb.el Initial version. 2026年05月17日 12:50:02 +02:00
LICENSE Initial version. 2026年05月17日 12:50:02 +02:00
README.org Initial version. 2026年05月17日 12:50:02 +02:00

cape-bbdb.el - Completion for the BBDB

Cape-bbdb is an Emacs package that provides a Completion At Point Extensions for the BBDB. It can be used in combination with Corfu, Company or the default completion UI.

When scrolling over the candidates, a preview shows the full BBDB entry for the selected candidate.

Configuration

You can register the cape-bbdb function for the message mode, using the following code:

;; Enable Corfu completion UI
;; See the Corfu README for more configuration tips.
(use-package corfu
 :config
 (global-corfu-mode))
;; Activate BBDB completion for message mode.
(use-package cape-bbdb
 :config
 (setq message-completion-alist
 `((,message-newgroups-header-regexp . ,#'message-expand-group)
 (,message-email-recipient-header-regexp . ,#'cape-bbdb))))
;; Use email icon.
(use-package nerd-icons-corfu
 :config
 (add-to-list 'nerd-icons-corfu-mapping
 '(email :style "oct" :icon "mail" :face default)))

Caveats

The character , is used to separate email adresses in fields like To and Cc. So it won't work in Orderless if you configured to use it, for example as a separator in variable orderless-component-separator.

The character @ is also usefull in email adresses and won't work as expected in Orderless, for example if you configured it to filter using the annotation. Entering name@ would then show nothing as name is not in the annotation, but name@e would again show the candidate name@example.com just like name did.