CHANGELOG.org (20235B)
1 #+title: consult.el - Changelog 2 #+author: Daniel Mendler 3 #+language: en 4 5 * Version 1.4 (2024-03-08) 6 7 - Bugfix: File preview: Ensure that binary files are not previewed partially. 8 Otherwise ~pdf-view-mode~ may observe corrupted PDF files. 9 - ~consult--async-refresh-timer~: Optimize timer reuse and efficiency. This change 10 improves the performance of commands like ~consult-ripgrep~ for small values of 11 ~consult-async-refresh-delay~. 12 - ~consult-completion-in-region~: Remove ~:cycle-threshold~ and ~:completion-styles~ 13 customization options. 14 15 * Version 1.3 (2024-02-23) 16 17 - ~consult-bookmark-narrow~: More flexible grouping which supports multiple 18 bookmark handlers per group. 19 - Bugfix: Ensure that preview is always executed in a non-minibuffer window. 20 - Bugfix: File preview: Do not preview ~hexl-mode~ buffers. 21 - Bugfix: File preview: use ~error-message-string~ to access error string. 22 - Bugfix: Buffer preview: Retrieve original window correctly. 23 - Bugfix: Fix ~consult-global-mark~ for ~embark-export~. 24 25 * Version 1.2 (2024-01-23) 26 27 - =consult-buffer=: Bugfix. Ensure that null completion works properly. 28 - File preview: Add indication if previewed file got truncated. 29 30 * Version 1.1 (2023-12-27) 31 32 - Bugfixes: 33 + ~consult-xref~: Do not error for an empty location list. 34 + ~consult--read~: Catch null completion if require-match is non-nil. 35 + ~consult--multi~: Ensure that :new action is invoked on visible source. 36 - File preview: Check for long lines when previewing files partially. 37 - Use ~minibuffer-local-filename-syntax~ and ~read-file-name-completion-ignore-case~ 38 for directory prompt of the ~consult-grep~ and ~consult--find~ family of commands. 39 - Remove obsolete variables ~consult-preview-max-size~ and 40 ~consult-preview-raw-size~. 41 42 * Version 1.0 (2023-12-01) 43 44 - Bugfixes. 45 - Preview large files partially. Add new customization variables 46 =consult-preview-partial-chunk= and =consult-preview-partial-limit=. This new 47 feature is experimental. Please report any issues you observe. 48 - Obsoleted =consult-preview-max-size= and =consult-preview-raw-size=. 49 - =consult-buffer-other-tab=: New command. 50 - =consult-fd=: New command based on the fast =fd/fdfind= search utility. 51 - =consult-outline=: New prefix argument to specify initial narrowing level. 52 - =consult-org-heading=: Specify category =org-heading= such that Embark provides 53 appropriate Org heading actions. 54 - =consult-org-heading=: Add annotation. 55 - =consult-locate=: Split input into multiple words. 56 - Remove unreliable =consult--maybe-recenter=. 57 - Save input history even when using =embark-export= or when aborting from a 58 command via C-g. This change affects commands like =consult-line= and 59 =consult-grep=. 60 - Unify history of =consult-line=, =consult-keep-lines= and =consult-focus-lines=. 61 62 * Version 0.35 (2023-07-02) 63 64 - Bugfixes. 65 - =consult--read= now accepts programmable completion tables as argument, e.g., 66 =completion-table-dynamic= or =completion--file-name-table=. This allows you to 67 reuse existing completion tables to write completion commands enhanced with 68 Consult candidate preview. 69 - Replace =consult-preview-cursor= face with =cursor-highlight-mark=. 70 - Change calling convention of =consult-focus-lines= and =consult-keep-lines=. 71 - The regexps in =consult-buffer-filter= are matched case sensitively now. 72 Similarly, the =INCLUDE= and =EXCLUDE= arguments of =consult--buffer-query= are also 73 case sensitive. 74 - Do not preview remote files by default, see =consult-preview-excluded-files=. 75 - Use =consult--maybe-recenter= instead of =recenter= in =consult-after-jump-hook=. 76 - =consult-goto-line=: Support =line:column= input. 77 78 * Version 0.34 (2023-04-21) 79 80 - Bugfixes. 81 - =consult-org-heading=: Support tag inheritance. 82 - Use pure =consult--fast-abbreviate-file-name= function to abbreviate file names 83 in =consult-buffer= and =consult-recent-file=. This ensures that abbreviation does 84 not access the file system (or worse remote hosts via Tramp) and is always 85 fast. The downside is that some paths may not get abbreviated. 86 - Introduce buffer sources =consult--source-project-buffer-hidden= and 87 =consult--source-project-recent-file-hidden=. Set the buffer sources of 88 =consult-project= to =consult--source-project-buffer= and 89 =consult--source-project-recent-file= to ease customization. 90 - =consult-buffer=: Explicitly save =window-next-buffers= and =window-prev-buffers=. 91 - When previewing files literally (=consult-preview-raw-size=), set the multi byte 92 flag of the previewed buffer, such that UTF-8 buffers are not garbled. 93 - Do not create preview cursor overlay. Instead display the actual point by 94 ensuring that =cursor-in-non-selected-windows= is set. 95 96 * Version 0.33 (2023-03-11) 97 98 - BREAKING: The key convention has been updated. The old key convention is not 99 supported anymore. Keys must now be strings valid according to =key-valid-p=. 100 This changes affects the keys =consult-narrow-key=, =consult-widen-key=, 101 =consult-preview-key= and the =:preview-key= of sources and passed as keyword 102 argument to =consult--read=. See the example configurations in the manual. 103 - BREAKING: Remove the "." argument from =consult-grep-args= and 104 =consult-ripgrep-args=, since directories or files to search are appended by the 105 command line builder. Take this change into account, when you use a customized 106 version of those variables. 107 - =consult-grep=: Add support for grep and find over multiple files or directory. 108 If the prefix argument DIR is a single C-u, prompt for comma separated 109 directories or files to search recursively via =completing-read-multiple=. 110 - =consult-buffer= and =consult-isearch-history=: Align annotations dynamically 111 depending on candidate width, instead of computing the alignment beforehand. 112 - Add the full path as =help-echo= property to abbreviated directory paths and 113 project names. Enable =tooltip-mode= and hover with the mouse over the 114 abbreviated directory path to see the full path. 115 - =consult-grep/find/etc=: Print first line of stderr output if command failed. 116 117 * Version 0.32 (2023-02-06) 118 119 - Bugfixes 120 - Deprecate the old key convention. Keys must now be strings valid according to 121 =key-valid-p=. This changes affects the keys =consult-narrow-key=, 122 =consult-widen-key=, =consult-preview-key= and the =:preview-key= of sources and 123 passed as keyword argument to =consult--read=. See the example configurations in 124 the manual. 125 - Add =consult-info= command (#634, #727). 126 - =consult-buffer=: Always select the first candidate when narrowing (#714). 127 - =consult-locate-args=: Remove =--existing=, which is not supported by =plocate= on 128 Debian stable. 129 - =consult-ripgrep-args=: Add =--search-zip= option to automatically search through 130 compressed files. This will allow you to search Elisp files bundled with your 131 Emacs installation. Move to an Elisp library via =find-library=, then invoke 132 =consult-ripgrep=. 133 - Drop obsolete =consult-apropos=. Alternatives: =describe-symbol= in combination 134 with =embark-export=. See also =consult-info= and =consult-ripgrep= to search 135 through info manuals and Elisp source code. 136 - Drop obsolete =consult-multi-occur=. Alternative: Built-in =multi-occur=, 137 =multi-occur-in-matching-buffers= or =consult-line-multi=. 138 - Drop obsolete =consult-file-externally=. The command has been moved to Embark 139 under the name =embark-open-externally=. 140 141 * Version 0.31 (2023-01-06) 142 143 - Version bump to update the Compat package dependency (29.1.0.1) 144 145 * Version 0.30 (2023-01-02) 146 147 - Bugfixes 148 - Drop Selectrum support 149 - Deprecate =consult-file-externally= in favor of =embark-open-externally= 150 - Deprecate =consult-multi-occur=. The =multi-occur= command should be improved 151 upstream to take advantage of =completing-read-multiple=. Consult provides the 152 command =consult-line-multi= as an alternative. 153 - =consult-history=: Use input as initial completion input 154 155 * Version 0.29 (2022-12-03) 156 157 - Bugfixes 158 - =consult-line-multi= has been rewritten completely. The candidates are computed 159 on demand based on the input. This reduces startup speed greatly. The command 160 behaves like =consult-grep=, but operates on buffers instead of files. 161 - Add =consult--source-file-register=, and make the registers available in 162 =consult-buffer=. Registers are often used as quick access keys for files, e.g., 163 =(add-to-list 'register-alist '(?i file . "~/.emacs.d/init.el")))=. 164 - Remove obsolete =consult-line-point-placement= 165 - =consult-grep/find=: Always show directory in the prompt 166 - Add variable =consult-yank-rotate=, =consult-yank-from-kill-ring= rotates kill ring 167 - Emacs 29: =consult-register= supports =buffer= register type 168 - Emacs 29: Support =outline-search-function= 169 - Org 9.6: Support new =org-fold-core= API (both overlays and text-properties) 170 - Support abbreviated file names in =recentf-list=, see =recentf-filename-handler=. 171 - Deprecate =consult-apropos= 172 173 * Version 0.20 (2022-10-16) 174 175 - Bugfixes 176 - Allow =consult-*-args= to be a string, or a list of strings or expressions. 177 - Introduce face =consult-highlight-match= to highlight grep matches in the 178 completion buffer. 179 - Highlight full matches in =consult-line=, =consult-outline=, =consult-*grep= and 180 =consult-flymake=. 181 - Remove face =consult-preview-error=. 182 - Deprecate =consult-line-point-placement= in favor of more general 183 =consult-point-placement=, which is also used by the =consult-*grep= commands. 184 - =consult-imenu=: Support imenu-after-jump-hook and non-default 185 =imenu-default-goto-function= 186 - =consult-history=: Add support for history index variables, which are updated 187 after selection. 188 - Deprecate support for Selectrum in favor of Vertico. If you use Selectrum 189 consider switching to Vertico, Icomplete, Mct or default completion. 190 191 * Version 0.19 (2022-09-09) 192 193 - Bugfixes 194 - Allow =consult-flymake= to work across all buffers in a project 195 - Remove deprecated =consult-completing-read-multiple= 196 - =consult-grep/git-grep/ripgrep=: Add =--fixed-strings= support 197 - =consult-grep=: Respect =grep-find-ignored-directories/files= 198 - =consult-org-heading=: Add tags to completion candidates 199 - Add =consult-preview-excluded-files= 200 - =consult-themes=: Support regexps 201 202 * Version 0.18 (2022-05-25) 203 204 - Bugfixes 205 - Removed obsolete =consult-recent-file-filter= and =consult-preview-excluded-hooks= 206 - Deprecate =consult-completing-read-multiple=. See #567 for details. 207 - Add =consult--source-modified-buffer= 208 209 * Version 0.17 (2022-04-22) 210 211 - Bugfixes 212 - Drop Emacs 26 support. 213 - =consult-goto-line=: Use =goto-line-history= on Emacs 28. 214 - =consult-customize=: Evaluate settings at runtime. This change makes it possible 215 to use =thing-at-point= to overwrite the =:initial= and =:add-history= settings. 216 - Rename =consult--read-config= to =consult--customize-alist= and change the format. 217 The configuration is an alist. The car must be a command symbol. The cdr must 218 be a plist of keys and expressions, where the expressions evaluate to the 219 actual configuration values. 220 - Mode hooks in previewed file buffers are delayed. The buffer is only fully 221 initialized when leaving the minibuffer for recursive editing. 222 - Increase =consult-preview-raw-size=. 223 - Replace =consult-preview-excluded-hooks= by =consult-preview-allowed-hooks=. 224 - Add =consult-preview-variables= to bind variables for file preview. 225 - BREAKING API CHANGE of =consult--read=, =consult--prompt=, =consult--multi=: The 226 state function protocol changed. The function gets notified of more completion 227 state changes. See the docstring of =consult--with-preview= for details. 228 - BREAKING API CHANGE of =consult--read=: The lookup function protocol changed. 229 The function must now accept four or more arguments. 230 - Remove unused =consult-preview-map=. 231 - Remove unnecessary =consult-recent-file-filter=. Use =recentf-exclude= instead. 232 - =consult--multi= sources can have a =:new= function to create candidates. 233 When narrowed to a source, new candidates will be created by calling the 234 respective =:new= function. 235 - =consult--multi= returns =:match= information. =:match= can be nil, t, or new, 236 depending on if the candidate does not exist, exists or has been created. 237 - =consult-locate= treats the input literally to take advantage of the db index. 238 239 * Version 0.16 (2022-03-08) 240 241 - Bugfixes 242 - Deprecate =consult-project-root-function= in favor of =consult-project-function=. 243 - Preconfigure =consult-project-function= with a default function based 244 on project.el. 245 - Add =consult-project-buffer=, a variant of =consult-buffer= restricted to the 246 current project. 247 - Add =consult-register-prefix= option. 248 - Introduced a generic and extensible =consult-register= implementation. 249 - Lazy marker creation in =consult-line/outline= (performance improvements) 250 251 * Version 0.15 (2022-01-31) 252 253 - Bugfixes 254 - =consult-xref=: Prettify the group titles, use =xref--group-name-for-display= 255 if available. 256 - =consult-focus-lines=: Thanks to @jdtsmith, the command is much faster and 257 actually useable in large files. 258 - Added Mct integration, auto refreshing of asynchronous Consult commands. 259 260 * Version 0.14 (2021-12-31) 261 262 - Bugfixes 263 - Add =consult-recent-file-filter= 264 - Rename =consult--source-(project-)file= to =consult-source-(project-)recent-file= 265 - =consult-keep-lines= makes read-only buffers temporarily writable if confirmed 266 267 * Version 0.13 (2021-11-12) 268 269 - Bugfixes 270 - =consult-register=: Add support for file register values. 271 - Rename =consult-isearch= to =consult-isearch-history=. The command is a history 272 browsing command and not a replacement for Isearch. 273 - =consult-grep= support -[ABC] grep options 274 - Add =consult-grep-context= face 275 276 * Version 0.12 (2021-10-11) 277 278 - Bugfixes 279 - Removed obsolete =consult-project-imenu= and =consult-x-command= variables 280 - =consult-grep=: Use ~--null~ argument to support file names with colons 281 282 * Version 0.11 (2021-08-18) 283 284 - Bugfixes only 285 286 * Version 0.10 (2021-08-11) 287 288 - =consult-mark=, =consult-global-mark=: Add optional marker list argument 289 - =consult-completing-read-multiple=: New function 290 - Rename =consult-project-imenu= to =consult-imenu-multi= 291 - Add =consult-line-multi= to search multiple buffers 292 - Removed obsolete =consult-yank=, =consult-async-default-split=, =consult-config= 293 - =consult-ripgrep=: Use =--smart-case= 294 - =consult-grep/git-grep=: Use =--ignore-case= 295 - Deprecate =consult-<cmd>-command= in favor of =consult-<cmd>-config.= 296 - =consult-find=: Use regular expressions instead of globbing/wildcards by default. 297 Due to the changes to =consult-find= it is not possible anymore to configure 298 =fd= as backend for =consult-find=. A replacement is documented in the wiki. 299 - =consult-find/locate/man=: Add highlighting to the matching file/man page names. 300 - =consult-grep/git-grep/ripgrep/find/locate=: Add support for multiple unordered 301 patterns. Each of the input patterns must be matched. For example, 302 =consult-find= transforms the input "first second third" to "first -and second 303 -and third". 304 - =consult-grep/git-grep/ripgrep=: Compute the highlighting based on the input, 305 instead of relying on the ANSI-escaped output. This works better with multiple 306 patterns, but may occasionally produce false highlighting. 307 - Deprecate =consult-x-command= configuration variables in favor of =consult-x-args=. 308 The variables have been renamed since the configuration format changed. 309 - =consult-async-split-styles-alist=: Remove the =space= splitting style, since 310 it has been obsoleted by the support for multiple unordered patterns. 311 312 * Version 0.9 (2021-06-22) 313 314 - Add =consult-preview-excluded-hooks= 315 - =consult--read/consult--prompt=: Add =:inherit-input-method= argument 316 - Add debouncing support for preview 317 318 * Version 0.8 (2021-05-30) 319 320 - Async commands: Do not fix vertical height in Selectrum. 321 - =consult-imenu=: Deduplicate items (some imenu backends generate duplicates). 322 - =consult-org-heading=: Deduplicate items. 323 - =consult-buffer-filter=: Hide more buffers. 324 - =consult-line=: Matching line preview overlay only in the selected window. 325 - =consult-yank/completion-in-region=: Insertion preview only in selected window. 326 - =consult-yank=: Rename to =consult-yank-from-kill-ring= (Emacs 28 naming). 327 - =consult-yank= commands: =delete-selection-mode= support, added properties. 328 - =consult-preview-at-point=, =consult-preview-at-point-mode=: New command and 329 minor mode to preview candidate at point in =*Completions*= buffer. 330 - Add =consult-async-split-style= and =consult-async-split-styles-alist=. 331 - =consult-async-default-split=: Obsoleted in favor of =consult-async-split-style=. 332 - Deprecate =consult-config= in favor of new =consult-customize= macro. 333 - =consult-buffer=: Enable previews for files and bookmarks by default. 334 - =consult-buffer=/=consult--multi=: Add support for =:preview-key= per source. 335 - =consult-buffer=: Push visible buffers down in the buffer list. 336 - =consult-flycheck=: Moved to separate repository prior to ELPA submission. 337 - Submitted Consult to ELPA. 338 339 * Version 0.7 (2021-04-29) 340 341 - Bugfixes 342 - =consult-buffer=: Respect =confirm-nonexistent-file-or-buffer= 343 - =consult-widen-key=: Change default setting to twice the =consult-narrow-key= 344 - =consult-flycheck=: Sort errors first 345 - Added support for the Vertico completion system 346 - Consult adds disambiguation suffixes as suffix instead of as prefix now 347 for the commands =consult-line=, =consult-buffer=, etc. 348 This enables support for the =basic= completion style and TAB completion. 349 - =consult--read=: The =:title= function must accept two arguments now, 350 the candidate string and a flag. If the flag is nil, the function should 351 return the title of the candidate, otherwise the function should return the 352 transformed candidate. 353 - =consult-grep= and related commands: Strip the file name if grouping is used. 354 - =consult-find/grep=: Ensure that the commands work with Tramp 355 - =consult-outline=: Add narrowing 356 - Added =consult-org-heading= and =consult-org-agenda= 357 - =consult-line=: Highlight visual line during jump preview 358 - =consult-line=: Start search at current line, add configuration variable 359 =consult-start-from-top=. The starting point can be toggled by the prefix 360 argument =C-u=. 361 362 * Version 0.6 (2021-03-02) 363 364 - Bugfixes 365 - =consult-keep/focus-lines=: Align behavior on regions with built-in =keep-lines=. 366 - =consult-buffer=: Enable file sources only when =recentf-mode= is enabled 367 - =consult--multi=: Add =:default= flag, use flag for =consult--source-buffer= 368 - Add =consult-grep-max-columns= to prevent performance issues for long lines 369 - Add =consult-fontify-preserve= customization variable 370 - =consult-line=: Quits Isearch, when started from an Isearch session 371 - =consult-register-load=: Align prefix argument handling with =insert-register= 372 - Rename =consult-error= to =consult-compile-error= 373 - =consult-compile-error=: Allow calling the command from any buffer, 374 use the errors from all compilation buffers related to the current buffer. 375 - =consult-man=: Handle aggregated entries returned by mandoc 376 - =consult-completion-in-region=: Added preview and =consult-preview-region= face 377 - Added =consult-completion-in-region-styles= customization variable 378 - Added =consult-xref=. The function can be set as =xref-show-xrefs-function= 379 and =xref-show-definitions-function=. 380 - Added support for the candidate grouping function =x-group-function= 381 382 * Version 0.5 (2021-02-09) 383 384 - Bugfixes 385 - =consult-keep/focus-lines=: If region is active, operate only on the region. 386 - =consult-register-format=: Do not truncate register strings. 387 - =consult-buffer= multi sources: Ensure that original buffer is 388 shown, when the currently selected source does not perform preview. 389 - Add =consult-preview-raw-size= 390 - Expose preview functionality for multi-source bookmarks/files 391 - Multi sources: Add =:enabled=, =:state= and =:action= fields 392 - =consult-imenu=: Add faces depending on item types 393 394 * Version 0.4 (2021-02-01) 395 396 - Bugfixes 397 - Introduce multi sources, reimplement =consult-buffer= with multi sources 398 - =consult-isearch=: Add preview highlighting 399 - =consult-line=: Use =isearch-string= when invoked from running isearch 400 401 * Version 0.3 (2021-01-28) 402 403 - Bugfixes 404 - New command =consult-isearch= 405 - New functions =consult-register-format=, =consult-register-window=, 406 removed =consult-register-preview= 407 408 * Version 0.2 (2021-01-16) 409 410 - Initial stable release