Complementary packages
Corfu works well together with all packages providing code completion via the completion-at-point-functions. Many modes and packages already provide a Capf out of the box. Nevertheless you may want to look into complementary packages to enhance your setup.
- corfu-candidate-overlay: Shows as-you-type auto-suggestion candidate overlay with a visual indication of whether there are many or exactly one candidate available (works only with ‘
corfu-auto’ disabled). - corfu-terminal: Child frames are supported by terminal Emacs 31 out of the box. On older Emacs versions, this package provides an overlay-based popup.
- Orderless: Corfu supports completion styles, including the advanced ‘
orderless’ completion style, where the filter expressions are separated by spaces or another character (seecorfu-separator). - Cape: Provides additional Capf backends and ‘
completion-in-region’ commands. Among others, the package supplies the file completion backend ‘cape-file’ and the Dabbrev backend ‘cape-dabbrev’. Cape provides thecape-company-to-capfadapter to reuse Company backends in Corfu. - kind-icon, nerd-icons-corfu: Icons are supported by Corfu via external packages. The nerd-icons-corfu package relies on the Nerd icon font, which is supported on terminal, while kind-icon uses SVGs from monochromatic icon sets, or colored-coded text badges for terminal or simpler appearance.
- Tempel: Tiny template/snippet package with templates in Lisp syntax, which can be used in conjunction with Corfu.
- Vertico: You may also want to look into my Vertico package. Vertico is the minibuffer completion counterpart of Corfu.