[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1032960: RFP: elpa-corfu -- Completion Overlay Region FUnction in Emacs



Package: wnpp
Severity: wishlist
X-Debbugs-Cc: debian-emacs@lists.debian.org

* Package name    : elpa-corfu
  Version         : 0.35
  Upstream Contact: Daniel Mendler <mail+gh@daniel-mendler.de>
* URL             : https://github.com/minad/corfu/
* License         : GPL-3
  Programming Lang: Emacs Lisp
  Description     : Completion Overlay Region FUnction in Emacs

Corfu enhances completion at point with a small completion popup. The
current candidates are shown in a popup below or above the
point. Corfu is the minimalistic completion-in-region counterpart of
the Vertico minibuffer UI.

Corfu is a small package, which relies on the Emacs completion
facilities and concentrates on providing a polished completion
UI. Completions are either provided by commands like
dabbrev-completion or by pluggable backends
(completion-at-point-functions, Capfs). Most programming language
major modes implement a Capf. Furthermore the language server
packages, Eglot and Lsp-mode, use Capfs which talk to the LSP server
to retrieve the completions. Corfu does not include its own completion
backends. The Emacs built-in Capfs and the Capfs provided by other
programming language packages are usually sufficient. A few additional
Capfs and completion utilities are provided by the Cape package.

----

This is similar to the already packaged company mode, but has the
crucial difference that it doesn't require any mode-specific
completion mechanism like company. Instead, it reuses the existing
"completion-at-point-function" already defined in the major mode. It
interoperates with Language Server Protocol (LSP) packages as well,
like eglot and lsp-mode.

More completion modes are provided by an external "cape" package:

https://github.com/minad/cape

... not packaged in Debian.

Corfu also integrates with the "orderless" completion style, already
packaged in Debian as elpa-orderless

I am currently using company but I'm considering switching to this in
a feeble attempt at simplifying my init file.


Reply to: