Version 1.5 of package Corfu has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Corfu describes itself as: ============================= COmpletion in Region FUnction ============================= More at https://elpa.gnu.org/packages/corfu.html ## Summary: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CORFU.EL - COMPLETION IN REGION FUNCTION ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Corfu enhances in-buffer completion with a small completion popup. The current candidates are shown in a popup below or above the point. The candidates can be selected by moving up and down. Corfu is the minimalistic in-buffer completion counterpart of the [Vertico] minibuffer UI. ## Recent NEWS: ━━━━━━━━━━━━━━━━━━━━━━ CORFU.EL - CHANGELOG ━━━━━━━━━━━━━━━━━━━━━━ 1 Version 1.5 (2024-07-26) ══════════════════════════ • New customization variable `global-corfu-minibuffer' to enable Corfu in the minibuffer. • Unbind `C-a' in `corfu-map'. This binding is only needed in modes which override `C-a' instead of remapping `move-beginning-of-line'. • Unbind `<tab>' in `corfu-map'. This binding is only needed in modes which bind `<tab>' instead of `TAB', as was the case in old versions of Org. If you use such a mode, please report this as a bug for this mode. In the meantime you can use `(keymap-set corfu-map "<tab>" #'corfu-complete)'. • Add new command `corfu-send' as alternative to `corfu-insert'. • `corfu-popupinfo': Support both `face' and `font-lock-face' highlighting. • Bump Compat dependency to Compat 30. 2 Version 1.4 (2024-05-23) ══════════════════════════ • `corfu-auto-commands': Add `delete-backward-char'. 3 Version 1.3 (2024-04-05) ══════════════════════════ • Preserve currently selected candidate on further input. This matters if candidate preview is disabled (`corfu-preview-current=nil'). • Add new command `corfu-expand' bound to `M-TAB' by default. The command expands the input via `completion-try-completion', for example the `basic' completion style expands the common prefix of all candidates. 4 Version 1.2 (2024-01-23) ══════════════════════════ • Support the EXWM window manager. • Optimization: Reduce auto completion timer overhead. • Use `internal-border-width' instead of `child-frame-border-width'. • Internal refactoring: Do not use buffer-local variables. • Internal refactoring: Store `completion-extra-properties' as part of `completion-in-region--data'. 5 Version 1.1 (2023-12-27) ══════════════════════════ • Deduplicate candidates with respect to `equal-including-properties', such that backends can provide equal candidate strings, which only differ in their text properties and annotations. • Ensure that the string passed to the `:exit-function' retains the candidate properties, when possible. The properties are guaranteed to exist when a candidate is selected explicitly, but may be missing when candidates are completed in a stepwise manner. • `corfu-on-exact-match': Add value `show' to the customization option. With this setting the Corfu popup will be shown even if there is only a single matching candidate. 6 Version 1.0 (2023-12-01) ══════════════════════════ • Bug fixes. • `corfu-quick': Use a slightly different scheme to support more candidates. • `corfu-reset': Quit immediately if input did not change. • Support `completion-lazy-hilit'. 7 Version 0.38 (2023-08-14) ═══════════════════════════ • `corfu-quick': Bugfix. • `corfu-mode-map': Add mode map. • Replace `corfu-excluded-modes' with `global-corfu-modes', the Emacs 28 convention for globalized minor modes. 8 Version 0.37 (2023-07-02) ═══════════════════════════ • Bugfixes. • Improve child frame display code, `corfu--popup-show' takes a `posn' argument. • Ensure that the popup font matches the font of the parent frame. • Close popup when window selection changes. • Remove `corfu-history-length'. Instead set the `history-length' property of `corfu-history' variable. • `corfu-info-documentation', `corfu-info-location': Make buffer and window persistent if called with prefix argument. 9 Version 0.36 (2023-03-27) ═══════════════════════════ • Drop obsolete `corfu-preselect-first'. • `corfu-popupinfo-delay' and `corfu-echo-delay': Remove support for value `t'. Instant updates are not recommended. It is still possible to use a small value for the delay. • Rename `corfu-excluded-modes' to `corfu-exclude-modes' (Naming convention). • Remove call to `undo-boundary', which caused issues with auto completion. 10 Version 0.35 (2023-02-17) ════════════════════════════ • `corfu-popupinfo': Take more text into account when computing popup width. • `corfu-popupinfo': Change keybindings, remap `corfu-info-documentation/location'. • `corfu-popupinfo': Add commands `corfu-popupinfo-beginning/end'. • `corfu-popupinfo': Improve popup placement. • Add `corfu-prompt-beginning' and `corfu-prompt-end' commands. • Add `corfu-preselect' option, deprecate `corfu-preselect-first'. • Use `cl-defgeneric' internally as mechanism to allow extensions to override … …