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