Alternatives
- Company: Company is a widely used and mature completion package, which implements a similar UI as Corfu. While Corfu relies exclusively on the standard Emacs completion API (Capfs), Company defines its own API for the backends. Company includes its own completion backends, following its own API, which are incompatible with the Emacs completion infrastructure. Company provides an adapter
company-capfto handle Capfs as a Company backend. As a result of this design, Company is a more complex package than Corfu, three times as large, even without backends. Older versions of Company defaulted to overlays in contrast to the child frames used by Corfu. Overall both packages work well, but Corfu integrates more tightly with Emacs. Company’scompletion-stylessupport is more limited and thecompletion-at-pointcommand and thecompletion-in-regionfunction do not invoke Company. - consult-completion-in-region: The Consult package provides the function
consult-completion-in-regionwhich can be set ascompletion-in-region-functionsuch that it handlescompletion-at-point. The function works by transferring the in-buffer completion to the minibuffer. In the minibuffer, the minibuffer completion UI, for example Vertico takes over. If you prefer to perform all your completions in the minibufferconsult-completion-in-regionis your best option.