- Require Emacs 28.1.
- New customization variable
global-corfu-minibuffer
to enable Corfu in the minibuffer. - Unbind
C-a
incorfu-map
. This binding is only needed in modes which overrideC-a
instead of remappingmove-beginning-of-line
. - Unbind
<tab>
incorfu-map
. This binding is only needed in modes which bind<tab>
instead ofTAB
, 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 tocorfu-insert
. corfu-popupinfo
: Support bothface
andfont-lock-face
highlighting.- Bump Compat dependency to Compat 30.
corfu-auto-commands
: Adddelete-backward-char
.
- Preserve currently selected candidate on further input. This matters if
candidate preview is disabled (
corfu-preview-current=nil
). - Add new command
corfu-expand
bound toM-TAB
by default. The command expands the input viacompletion-try-completion
, for example thebasic
completion style expands the common prefix of all candidates.
- Support the EXWM window manager.
- Optimization: Reduce auto completion timer overhead.
- Use
internal-border-width
instead ofchild-frame-border-width
. - Internal refactoring: Do not use buffer-local variables.
- Internal refactoring: Store
completion-extra-properties
as part ofcompletion-in-region--data
.
- 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 valueshow
to the customization option. With this setting the Corfu popup will be shown even if there is only a single matching candidate.
- 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
.
corfu-quick
: Bugfix.corfu-mode-map
: Add mode map.- Replace
corfu-excluded-modes
withglobal-corfu-modes
, the Emacs 28 convention for globalized minor modes.
- Bugfixes.
- Improve child frame display code,
corfu--popup-show
takes aposn
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 thehistory-length
property ofcorfu-history
variable. corfu-info-documentation
,corfu-info-location
: Make buffer and window persistent if called with prefix argument.
- Drop obsolete
corfu-preselect-first
. corfu-popupinfo-delay
andcorfu-echo-delay
: Remove support for valuet
. Instant updates are not recommended. It is still possible to use a small value for the delay.- Rename
corfu-excluded-modes
tocorfu-exclude-modes
(Naming convention). - Remove call to
undo-boundary
, which caused issues with auto completion.
corfu-popupinfo
: Take more text into account when computing popup width.corfu-popupinfo
: Change keybindings, remapcorfu-info-documentation/location
.corfu-popupinfo
: Add commandscorfu-popupinfo-beginning/end
.corfu-popupinfo
: Improve popup placement.- Add
corfu-prompt-beginning
andcorfu-prompt-end
commands. - Add
corfu-preselect
option, deprecatecorfu-preselect-first
. - Use
cl-defgeneric
internally as mechanism to allow extensions to override functionality, e.g., the candidate formatting and display.
- Bugfixes
- Popup frame code updated for Emacs 29. Please report any issues.
corfu-popupinfo-direction
: Variable must be a list of directions.- Support height adjustments of
corfu-default
face
corfu-popupinfo
: Bugfixes
corfu-echo
,corfu-quick
: Bugfixes for interaction issue.
corfu-popupinfo
: Bugfixes and improvements.
- BREAKING: Extract the
corfu-echo
extension fromcorfu.el
. In order to see echo messages, enablecorfu-echo-mode
. You probably want to enable eithercorfu-echo-mode
orcorfu-popupinfo-mode
. - BREAKING: Rename
corfu-echo-documentation
tocorfu-echo-delay
. - Add
corfu-popupinfo
extension to display candidate documentation and location in a small child frame next to the candidate menu. This extension has been contributed by Yuwei Tian who assigned copyright to the FSF. The extension supersedes Yuwei’scorfu-doc
package.
- Start of changelog.