summaryrefslogtreecommitdiff
path: root/CHANGELOG.org
blob: f90e63767224e1b08a315e385944da69c333df7c (plain)
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
#+title: cape.el - Changelog
#+author: Daniel Mendler
#+language: en

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