Version 2.1 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, and
  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 2.1 (2025-04-22)
══════════════════════════

  • `corfu-history-duplicate' and `corfu-history-decay': New
    customization options to adjust the rank of duplicate history
    elements, such that they appear earlier in the completion list.
  • `corfu-history-mode': Add `corfu-history' to
    `savehist-minibuffer-history-variables' in order to save the history
    if `savehist-mode' is enabled.


2 Version 2.0 (2025-03-28)
══════════════════════════

  • `corfu-quick': Ensure that popup does not move.


3 Version 1.7 (2025-01-28)
══════════════════════════

  • Bugfixes only.


4 Version 1.6 (2024-12-22)
══════════════════════════

  • Require Emacs 28.1.
  • Use fringe to display scroll bar. This change improves performance
    and makes sure that the scroll bar cannot be pushed outside the
    child frame by the content. This affects for example `cape-emoji'.
  • Improve suffix alignment.
  • Remember popup width during completion to avoid width
    fluctuations. Basically the popup is only allowed to grow.
  • `corfu-insert-separator': Jump back to prompt if a candidate is
    previewed.


5 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.


6 Version 1.4 (2024-05-23)
══════════════════════════

  • `corfu-auto-commands': Add `delete-backward-char'.


7 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.


8 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'.


9 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.


10 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'.


11 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.


12 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.
  …  …

Reply via email to