1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
#+title: cape.el - Changelog
#+author: Daniel Mendler
#+language: en
* Development
- ~cape-capf-super~: Deduplicate candidates based on ~:exit-function~. Duplicate
candidates are only kept if they differ in their exit function.
* Version 2.6 (2026-01-24)
- Remove obsolete ~cape-capf-purify~ and ~cape-wrap-purify~.
- ~cape-capf-properties~: Remove support for ~:strip~ argument. Ensure that relevant
table metadata is overridden too.
* Version 2.5 (2026-01-17)
- Use =when-let*=.
* Version 2.4 (2025-12-21)
- ~cape-file~: Add location metadata for file preview via ~corfu-popupinfo-mode~.
* Version 2.3 (2025-11-15)
- Mark ~cape-capf-purify~ and ~cape-wrap-purify~ as obsolete.
- ~cape-capf-sort~: Make ~SORT~ function argument optional. If the ~SORT~ argument is
nil or not given, the completion UI sorting will take over.
- ~cape-capf-trigger~, ~cape-wrap-trigger~: New Capf transformer for trigger
characters. The Capf will only complete if the trigger character occurs before
point. See also ~corfu-auto-trigger~.
- ~cape-capf-choose~, ~cape-wrap-choose~: New Capf transformer to choose from
multiple Capfs.
* Version 2.2 (2025-10-13)
- Minor improvements.
- Require Emacs 29.
* Version 2.1 (2025-05-21)
- Simplify ~cape-dabbrev~ configuration.
- ~cape-dabbrev-buffer-function~: New variable to configure the buffers searched
by ~cape-dabbrev~.
- ~cape-dabbrev-check-other-buffers~: Removed in favor of ~cape-dabbrev-buffer-function~.
- ~cape-dabbrev-min-length~: Remove variable, since it leads to confusion due to
missing completion candidates.
- ~cape-same-mode-buffers~: New public function, renamed from
~cape--buffers-major-mode~.
- ~cape-text-buffers~: New function.
- ~cape-dabbrev-buffer-function~, ~cape-line-buffer-function~: Use
~cape-same-mode-buffers~.
* Version 2.0 (2025-03-11)
- ~cape-file~: Improve handling of environment variables as part of the path,
e.g., ~$HOME~.
- ~cape-company-to-capf~: Handle updated return value convention of the ~prefix~
action of Company backends.
* Version 1.9 (2025-01-28)
- ~cape-capf-super~: Use extra metadata instead of completion table metadata.
- ~cape-emoji~: Improve emoji name normalization.
* Version 1.8 (2024-12-22)
- 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.
* Version 1.7 (2024-08-26)
- ~cape-elisp-symbol~: Add wrappers only if not yet there.
- ~cape-elisp-symbol~: Add wrappers in ~emacs-lisp-mode~ inside strings/comments.
* Version 1.6 (2024-07-23)
- 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~ if ~company-mode~ is enabled.
- Bump Compat dependency to Compat 30.
* Version 1.5 (2024-04-12)
- ~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 of
~cape-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.
* Version 1.4 (2024-03-08)
- =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.
* Version 1.3 (2024-02-14)
- Add =cape-wrap-inside-code= and =cape-capf-inside-code=.
* Version 1.2 (2024-01-23)
- =cape-capf-super=: Bugfixes.
* Version 1.1 (2023-12-27)
- =cape-capf-super=, =cape-company-to-capf=: Support duplicate candidates.
- Remove obsolete function aliases ~cape-super-capf~, ~cape-interactive-capf~ and
~cape-symbol~.
* Version 1.0 (2023-12-01)
- =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= to =cape-capf-super=. Add =cape-wrap-super= for consistency
with other Capf combinators.
- Rename =cape-interactive-capf= to =cape-capf-interactive= for consistency with
other Capf combinators.
- Rename =cape-symbol= to =cape-elisp-symbol=.
* Version 0.17 (2023-08-14)
- Bugfixes.
- =cape-dict=: Always use grep, remove =cape-dict-use-grep=.
- =cape-dict=: Add =cape-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.
* Version 0.16 (2023-07-02)
- =cape-dabbrev=: Respect =dabbrev-abbrev-char-regexp= and
=dabbrev-abbrev-skip-leading-regexp=.
- =cape-file=: Quote file names in comint/eshell buffers.
* Version 0.15 (2023-04-17)
- Bugfixes
* Version 0.14 (2023-04-13)
- =cape-wrap-buster=, =cape-capf-buster= and =cape-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 improved =cape-dict=. Note that =cape-ispell=
and =ispell-lookup-words= did not really consult =ispell= or =aspell=, but only grep
through the word list specified by =ispell-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 to
=dabbrev-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.
* Version 0.13 (2023-02-15)
- Start of changelog.
|