Skip to content

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 (see corfu-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 the cape-company-to-capf adapter 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.