- Require Emacs 28.1.
cape-capf-properties
: Add:strip
keyword to strip a Capf of its metadata.cape-capf-sort
: New function.- Add
:display-sort-function
and:cycle-sort-function
functions to the various Capf property lists.
cape-elisp-symbol
: Add wrappers only if not yet there.cape-elisp-symbol
: Add wrappers inemacs-lisp-mode
inside strings/comments.
- Add
cape-prefix-map
for simplified configuration. cape-wrap-super
: Bugfix. Ensure that annotation functions are called with candidates belonging to the originating Capf.- Disallow
cape-company-to-capf
ifcompany-mode
is enabled. - Bump Compat dependency to Compat 30.
cape-file-prefix
: New variable to customize file name completion prefix. If the input matches one of the configured prefixes, file completion is started.cape-capf-super
: Support Capfs which return different prefix lengths. This change improves compatibility with Company.cape-capf-super
: Add support for the:with
keyword. See the docstring ofcape-wrap-super
for details. This change improves compatibility with Company.cape-capf-super
: The resulting Capf is exclusive if one of the main Capfs (the Capfs listed before the:with
keyword) is exclusive.cape-capf-super
: If the resulting Capf is non-exclusive, one of the main Capfs must have returned candidates, in order for the resulting Capf to return candidates.cape-capf-super
: Normalize plists which are attached to candidates. This helps with deduplication, such that only candidates with different annotations or icons appear twice.cape-dabbrev-check-other-buffers
: Support function as customization value. The function should return the exact list of buffers to search.
cape-char
: Look back from point, instead of using the match at point. This makes sure that double quotes of a string literal behind point are not included in the completion.cape-capf-inside-faces
: Use the face before point to handle completion at the end of comments more gracefully.
- Add
cape-wrap-inside-code
andcape-capf-inside-code
.
cape-capf-super
: Bugfixes.
cape-capf-super
,cape-company-to-capf
: Support duplicate candidates.- Remove obsolete function aliases
cape-super-capf
,cape-interactive-capf
andcape-symbol
.
cape-emoji
: New Capf available on Emacs 29 and newer.cape-wrap-debug
,cape-capf-debug
: New Capf transformers to add debug messages to a Capf.cape-wrap-passthrough
,cape-capf-passthrough
: New Capf transformers to defeat completion style filtering.cape-capf-inside-faces
,cape-wrap-inside-faces
: New transformer- Rename
cape-super-capf
tocape-capf-super
. Addcape-wrap-super
for consistency with other Capf combinators. - Rename
cape-interactive-capf
tocape-capf-interactive
for consistency with other Capf combinators. - Rename
cape-symbol
tocape-elisp-symbol
.
- Bugfixes.
cape-dict
: Always use grep, removecape-dict-use-grep
.cape-dict
: Addcape-dict-limit
.- Remove obsolete alias
cape-ispell
. - Generalize
cape--cached-table
. The candidate computation function must return a pair of a predicate function and the list of candidates.
cape-dabbrev
: Respectdabbrev-abbrev-char-regexp
anddabbrev-abbrev-skip-leading-regexp
.cape-file
: Quote file names in comint/eshell buffers.
- Bugfixes
cape-wrap-buster
,cape-capf-buster
andcape-company-to-capf
: The argument VALID must be a function taking two arguments, the old and new input. It should return nil if the input must be considered invalid such that the candidates must be recomputed.cape-ispell
: Deprecate in favor of improvedcape-dict
. Note thatcape-ispell
andispell-lookup-words
did not really consultispell
oraspell
, but only grep through the word list specified byispell-alternate-dictionary
.cape-dict-file
: Support multiple dictionary files or a function returning one or more files.cape-dict
,cape-dabbrev
: Replace case depending on initial input.cape-dict-case-replace
: New variable to configure case replacement, similar todabbrev-case-replace
.cape-dict-case-fold
: New variable to configure if case is ignored during search and completion.cape-elisp-block
: Complete Elisp in Org or Markdown code block. This Capf is particularly useful for literate Emacs configurations.
- Start of changelog.