Skip to content

Latest commit

 

History

History
451 lines (379 loc) · 21.4 KB

CHANGELOG.org

File metadata and controls

451 lines (379 loc) · 21.4 KB

consult.el - Changelog

Development

  • Require Emacs 28.1.
  • consult-grep, consult-find and similar commands: Ask for project first, when invoked with double prefix argument C-u C-u.
  • Deprecate consult-yank-rotate in favor of yank-from-kill-ring-rotate.
  • consult-grep-max-columns: Support value nil to disable truncation.

Version 1.8 (2024-07-25)

  • consult-preview-excluded-buffers: New customization variable.
  • consult-fd: Support multiple paths.
  • Bump Compat dependency to Compat 30.

Version 1.7 (2024-05-23)

  • Emacs 30 bug fix: Ensure that font locking is enabled when previewing files.
  • consult-preview-allowed-hooks: Global minor modes, which should be enabled during preview, can be added to this list. See the README for examples.
  • consult-xref: Bug fix: Do not error when project root directory is nil.
  • consult-fd: Bug fix: Avoid confusion of input pattern with options by prefixing the input pattern with --and.
  • consult--buffer-sort-visibility: Bug fix: Only add current buffer to sorted list, if already present in the original list.

Version 1.6 (2024-05-15)

  • consult-xref: Compatibility with xref.el in Emacs 30.
  • consult-grep (and similar): Preserve files which are already open literally and do not reopen them in normal mode.
  • consult-preview-allowed-hooks: Run delayed mode hooks listed in this variable during preview.
  • consult--buffer-query: Add buffer-list keyword argument.

Version 1.5 (2024-04-19)

  • Bugfix consult-buffer: Handle buffer renaming during minibuffer completion gracefully, by attaching the actual buffer objects to the completion candidate strings.
  • Bugfix consult-register: Ignore marker registers pointing to dead buffers.

Version 1.4 (2024-03-08)

  • Bugfix: File preview: Ensure that binary files are not previewed partially. Otherwise pdf-view-mode may observe corrupted PDF files.
  • consult--async-refresh-timer: Optimize timer reuse and efficiency. This change improves the performance of commands like consult-ripgrep for small values of consult-async-refresh-delay.
  • consult-completion-in-region: Remove :cycle-threshold and :completion-styles customization options.

Version 1.3 (2024-02-23)

  • consult-bookmark-narrow: More flexible grouping which supports multiple bookmark handlers per group.
  • Bugfix: Ensure that preview is always executed in a non-minibuffer window.
  • Bugfix: File preview: Do not preview hexl-mode buffers.
  • Bugfix: File preview: use error-message-string to access error string.
  • Bugfix: Buffer preview: Retrieve original window correctly.
  • Bugfix: Fix consult-global-mark for embark-export.

Version 1.2 (2024-01-23)

  • consult-buffer: Bugfix. Ensure that null completion works properly.
  • File preview: Add indication if previewed file got truncated.

Version 1.1 (2023-12-27)

  • Bugfixes:
    • consult-xref: Do not error for an empty location list.
    • consult--read: Catch null completion if require-match is non-nil.
    • consult--multi: Ensure that :new action is invoked on visible source.
  • File preview: Check for long lines when previewing files partially.
  • Use minibuffer-local-filename-syntax and read-file-name-completion-ignore-case for directory prompt of the consult-grep and consult--find family of commands.
  • Remove obsolete variables consult-preview-max-size and consult-preview-raw-size.

Version 1.0 (2023-12-01)

  • Bugfixes.
  • Preview large files partially. Add new customization variables consult-preview-partial-chunk and consult-preview-partial-limit. This new feature is experimental. Please report any issues you observe.
  • Obsoleted consult-preview-max-size and consult-preview-raw-size.
  • consult-buffer-other-tab: New command.
  • consult-fd: New command based on the fast fd/fdfind search utility.
  • consult-outline: New prefix argument to specify initial narrowing level.
  • consult-org-heading: Specify category org-heading such that Embark provides appropriate Org heading actions.
  • consult-org-heading: Add annotation.
  • consult-locate: Split input into multiple words.
  • Remove unreliable consult--maybe-recenter.
  • Save input history even when using embark-export or when aborting from a command via C-g. This change affects commands like consult-line and consult-grep.
  • Unify history of consult-line, consult-keep-lines and consult-focus-lines.

Version 0.35 (2023-07-02)

  • Bugfixes.
  • consult--read now accepts programmable completion tables as argument, e.g., completion-table-dynamic or completion--file-name-table. This allows you to reuse existing completion tables to write completion commands enhanced with Consult candidate preview.
  • Replace consult-preview-cursor face with cursor-highlight-mark.
  • Change calling convention of consult-focus-lines and consult-keep-lines.
  • The regexps in consult-buffer-filter are matched case sensitively now. Similarly, the INCLUDE and EXCLUDE arguments of consult--buffer-query are also case sensitive.
  • Do not preview remote files by default, see consult-preview-excluded-files.
  • Use consult--maybe-recenter instead of recenter in consult-after-jump-hook.
  • consult-goto-line: Support line:column input.

Version 0.34 (2023-04-21)

  • Bugfixes.
  • consult-org-heading: Support tag inheritance.
  • Use pure consult--fast-abbreviate-file-name function to abbreviate file names in consult-buffer and consult-recent-file. This ensures that abbreviation does not access the file system (or worse remote hosts via Tramp) and is always fast. The downside is that some paths may not get abbreviated.
  • Introduce buffer sources consult--source-project-buffer-hidden and consult--source-project-recent-file-hidden. Set the buffer sources of consult-project to consult--source-project-buffer and consult--source-project-recent-file to ease customization.
  • consult-buffer: Explicitly save window-next-buffers and window-prev-buffers.
  • When previewing files literally (consult-preview-raw-size), set the multi byte flag of the previewed buffer, such that UTF-8 buffers are not garbled.
  • Do not create preview cursor overlay. Instead display the actual point by ensuring that cursor-in-non-selected-windows is set.

Version 0.33 (2023-03-11)

  • BREAKING: The key convention has been updated. The old key convention is not supported anymore. Keys must now be strings valid according to key-valid-p. This changes affects the keys consult-narrow-key, consult-widen-key, consult-preview-key and the :preview-key of sources and passed as keyword argument to consult--read. See the example configurations in the manual.
  • BREAKING: Remove the “.” argument from consult-grep-args and consult-ripgrep-args, since directories or files to search are appended by the command line builder. Take this change into account, when you use a customized version of those variables.
  • consult-grep: Add support for grep and find over multiple files or directory. If the prefix argument DIR is a single C-u, prompt for comma separated directories or files to search recursively via completing-read-multiple.
  • consult-buffer and consult-isearch-history: Align annotations dynamically depending on candidate width, instead of computing the alignment beforehand.
  • Add the full path as help-echo property to abbreviated directory paths and project names. Enable tooltip-mode and hover with the mouse over the abbreviated directory path to see the full path.
  • consult-grep/find/etc: Print first line of stderr output if command failed.

Version 0.32 (2023-02-06)

  • Bugfixes
  • Deprecate the old key convention. Keys must now be strings valid according to key-valid-p. This changes affects the keys consult-narrow-key, consult-widen-key, consult-preview-key and the :preview-key of sources and passed as keyword argument to consult--read. See the example configurations in the manual.
  • Add consult-info command (#634, #727).
  • consult-buffer: Always select the first candidate when narrowing (#714).
  • consult-locate-args: Remove --existing, which is not supported by plocate on Debian stable.
  • consult-ripgrep-args: Add --search-zip option to automatically search through compressed files. This will allow you to search Elisp files bundled with your Emacs installation. Move to an Elisp library via find-library, then invoke consult-ripgrep.
  • Drop obsolete consult-apropos. Alternatives: describe-symbol in combination with embark-export. See also consult-info and consult-ripgrep to search through info manuals and Elisp source code.
  • Drop obsolete consult-multi-occur. Alternative: Built-in multi-occur, multi-occur-in-matching-buffers or consult-line-multi.
  • Drop obsolete consult-file-externally. The command has been moved to Embark under the name embark-open-externally.

Version 0.31 (2023-01-06)

  • Version bump to update the Compat package dependency (29.1.0.1)

Version 0.30 (2023-01-02)

  • Bugfixes
  • Drop Selectrum support
  • Deprecate consult-file-externally in favor of embark-open-externally
  • Deprecate consult-multi-occur. The multi-occur command should be improved upstream to take advantage of completing-read-multiple. Consult provides the command consult-line-multi as an alternative.
  • consult-history: Use input as initial completion input

Version 0.29 (2022-12-03)

  • Bugfixes
  • consult-line-multi has been rewritten completely. The candidates are computed on demand based on the input. This reduces startup speed greatly. The command behaves like consult-grep, but operates on buffers instead of files.
  • Add consult--source-file-register, and make the registers available in consult-buffer. Registers are often used as quick access keys for files, e.g., (add-to-list 'register-alist '(?i file . "~/.emacs.d/init.el"))).
  • Remove obsolete consult-line-point-placement
  • consult-grep/find: Always show directory in the prompt
  • Add variable consult-yank-rotate, consult-yank-from-kill-ring rotates kill ring
  • Emacs 29: consult-register supports buffer register type
  • Emacs 29: Support outline-search-function
  • Org 9.6: Support new org-fold-core API (both overlays and text-properties)
  • Support abbreviated file names in recentf-list, see recentf-filename-handler.
  • Deprecate consult-apropos

Version 0.20 (2022-10-16)

  • Bugfixes
  • Allow consult-*-args to be a string, or a list of strings or expressions.
  • Introduce face consult-highlight-match to highlight grep matches in the completion buffer.
  • Highlight full matches in consult-line, consult-outline, consult-*grep and consult-flymake.
  • Remove face consult-preview-error.
  • Deprecate consult-line-point-placement in favor of more general consult-point-placement, which is also used by the consult-*grep commands.
  • consult-imenu: Support imenu-after-jump-hook and non-default imenu-default-goto-function
  • consult-history: Add support for history index variables, which are updated after selection.
  • Deprecate support for Selectrum in favor of Vertico. If you use Selectrum consider switching to Vertico, Icomplete, Mct or default completion.

Version 0.19 (2022-09-09)

  • Bugfixes
  • Allow consult-flymake to work across all buffers in a project
  • Remove deprecated consult-completing-read-multiple
  • consult-grep/git-grep/ripgrep: Add --fixed-strings support
  • consult-grep: Respect grep-find-ignored-directories/files
  • consult-org-heading: Add tags to completion candidates
  • Add consult-preview-excluded-files
  • consult-themes: Support regexps

Version 0.18 (2022-05-25)

  • Bugfixes
  • Removed obsolete consult-recent-file-filter and consult-preview-excluded-hooks
  • Deprecate consult-completing-read-multiple. See #567 for details.
  • Add consult--source-modified-buffer

Version 0.17 (2022-04-22)

  • Bugfixes
  • Drop Emacs 26 support.
  • consult-goto-line: Use goto-line-history on Emacs 28.
  • consult-customize: Evaluate settings at runtime. This change makes it possible to use thing-at-point to overwrite the :initial and :add-history settings.
  • Rename consult--read-config to consult--customize-alist and change the format. The configuration is an alist. The car must be a command symbol. The cdr must be a plist of keys and expressions, where the expressions evaluate to the actual configuration values.
  • Mode hooks in previewed file buffers are delayed. The buffer is only fully initialized when leaving the minibuffer for recursive editing.
  • Increase consult-preview-raw-size.
  • Replace consult-preview-excluded-hooks by consult-preview-allowed-hooks.
  • Add consult-preview-variables to bind variables for file preview.
  • BREAKING API CHANGE of consult--read, consult--prompt, consult--multi: The state function protocol changed. The function gets notified of more completion state changes. See the docstring of consult--with-preview for details.
  • BREAKING API CHANGE of consult--read: The lookup function protocol changed. The function must now accept four or more arguments.
  • Remove unused consult-preview-map.
  • Remove unnecessary consult-recent-file-filter. Use recentf-exclude instead.
  • consult--multi sources can have a :new function to create candidates. When narrowed to a source, new candidates will be created by calling the respective :new function.
  • consult--multi returns :match information. :match can be nil, t, or new, depending on if the candidate does not exist, exists or has been created.
  • consult-locate treats the input literally to take advantage of the db index.

Version 0.16 (2022-03-08)

  • Bugfixes
  • Deprecate consult-project-root-function in favor of consult-project-function.
  • Preconfigure consult-project-function with a default function based on project.el.
  • Add consult-project-buffer, a variant of consult-buffer restricted to the current project.
  • Add consult-register-prefix option.
  • Introduced a generic and extensible consult-register implementation.
  • Lazy marker creation in consult-line/outline (performance improvements)

Version 0.15 (2022-01-31)

  • Bugfixes
  • consult-xref: Prettify the group titles, use xref--group-name-for-display if available.
  • consult-focus-lines: Thanks to @jdtsmith, the command is much faster and actually useable in large files.
  • Added Mct integration, auto refreshing of asynchronous Consult commands.

Version 0.14 (2021-12-31)

  • Bugfixes
  • Add consult-recent-file-filter
  • Rename consult--source-(project-)file to consult-source-(project-)recent-file
  • consult-keep-lines makes read-only buffers temporarily writable if confirmed

Version 0.13 (2021-11-12)

  • Bugfixes
  • consult-register: Add support for file register values.
  • Rename consult-isearch to consult-isearch-history. The command is a history browsing command and not a replacement for Isearch.
  • consult-grep support -[ABC] grep options
  • Add consult-grep-context face

Version 0.12 (2021-10-11)

  • Bugfixes
  • Removed obsolete consult-project-imenu and consult-x-command variables
  • consult-grep: Use --null argument to support file names with colons

Version 0.11 (2021-08-18)

  • Bugfixes only

Version 0.10 (2021-08-11)

  • consult-mark, consult-global-mark: Add optional marker list argument
  • consult-completing-read-multiple: New function
  • Rename consult-project-imenu to consult-imenu-multi
  • Add consult-line-multi to search multiple buffers
  • Removed obsolete consult-yank, consult-async-default-split, consult-config
  • consult-ripgrep: Use --smart-case
  • consult-grep/git-grep: Use --ignore-case
  • Deprecate consult-<cmd>-command in favor of consult-<cmd>-config.
  • consult-find: Use regular expressions instead of globbing/wildcards by default. Due to the changes to consult-find it is not possible anymore to configure fd as backend for consult-find. A replacement is documented in the wiki.
  • consult-find/locate/man: Add highlighting to the matching file/man page names.
  • consult-grep/git-grep/ripgrep/find/locate: Add support for multiple unordered patterns. Each of the input patterns must be matched. For example, consult-find transforms the input “first second third” to “first -and second -and third”.
  • consult-grep/git-grep/ripgrep: Compute the highlighting based on the input, instead of relying on the ANSI-escaped output. This works better with multiple patterns, but may occasionally produce false highlighting.
  • Deprecate consult-x-command configuration variables in favor of consult-x-args. The variables have been renamed since the configuration format changed.
  • consult-async-split-styles-alist: Remove the space splitting style, since it has been obsoleted by the support for multiple unordered patterns.

Version 0.9 (2021-06-22)

  • Add consult-preview-excluded-hooks
  • consult--read/consult--prompt: Add :inherit-input-method argument
  • Add debouncing support for preview

Version 0.8 (2021-05-30)

  • Async commands: Do not fix vertical height in Selectrum.
  • consult-imenu: Deduplicate items (some imenu backends generate duplicates).
  • consult-org-heading: Deduplicate items.
  • consult-buffer-filter: Hide more buffers.
  • consult-line: Matching line preview overlay only in the selected window.
  • consult-yank/completion-in-region: Insertion preview only in selected window.
  • consult-yank: Rename to consult-yank-from-kill-ring (Emacs 28 naming).
  • consult-yank commands: delete-selection-mode support, added properties.
  • consult-preview-at-point, consult-preview-at-point-mode: New command and minor mode to preview candidate at point in *Completions* buffer.
  • Add consult-async-split-style and consult-async-split-styles-alist.
  • consult-async-default-split: Obsoleted in favor of consult-async-split-style.
  • Deprecate consult-config in favor of new consult-customize macro.
  • consult-buffer: Enable previews for files and bookmarks by default.
  • consult-buffer=/=consult--multi: Add support for :preview-key per source.
  • consult-buffer: Push visible buffers down in the buffer list.
  • consult-flycheck: Moved to separate repository prior to ELPA submission.
  • Submitted Consult to ELPA.

Version 0.7 (2021-04-29)

  • Bugfixes
  • consult-buffer: Respect confirm-nonexistent-file-or-buffer
  • consult-widen-key: Change default setting to twice the consult-narrow-key
  • consult-flycheck: Sort errors first
  • Added support for the Vertico completion system
  • Consult adds disambiguation suffixes as suffix instead of as prefix now for the commands consult-line, consult-buffer, etc. This enables support for the basic completion style and TAB completion.
  • consult--read: The :title function must accept two arguments now, the candidate string and a flag. If the flag is nil, the function should return the title of the candidate, otherwise the function should return the transformed candidate.
  • consult-grep and related commands: Strip the file name if grouping is used.
  • consult-find/grep: Ensure that the commands work with Tramp
  • consult-outline: Add narrowing
  • Added consult-org-heading and consult-org-agenda
  • consult-line: Highlight visual line during jump preview
  • consult-line: Start search at current line, add configuration variable consult-start-from-top. The starting point can be toggled by the prefix argument C-u.

Version 0.6 (2021-03-02)

  • Bugfixes
  • consult-keep/focus-lines: Align behavior on regions with built-in keep-lines.
  • consult-buffer: Enable file sources only when recentf-mode is enabled
  • consult--multi: Add :default flag, use flag for consult--source-buffer
  • Add consult-grep-max-columns to prevent performance issues for long lines
  • Add consult-fontify-preserve customization variable
  • consult-line: Quits Isearch, when started from an Isearch session
  • consult-register-load: Align prefix argument handling with insert-register
  • Rename consult-error to consult-compile-error
  • consult-compile-error: Allow calling the command from any buffer, use the errors from all compilation buffers related to the current buffer.
  • consult-man: Handle aggregated entries returned by mandoc
  • consult-completion-in-region: Added preview and consult-preview-region face
  • Added consult-completion-in-region-styles customization variable
  • Added consult-xref. The function can be set as xref-show-xrefs-function and xref-show-definitions-function.
  • Added support for the candidate grouping function x-group-function

Version 0.5 (2021-02-09)

  • Bugfixes
  • consult-keep/focus-lines: If region is active, operate only on the region.
  • consult-register-format: Do not truncate register strings.
  • consult-buffer multi sources: Ensure that original buffer is shown, when the currently selected source does not perform preview.
  • Add consult-preview-raw-size
  • Expose preview functionality for multi-source bookmarks/files
  • Multi sources: Add :enabled, :state and :action fields
  • consult-imenu: Add faces depending on item types

Version 0.4 (2021-02-01)

  • Bugfixes
  • Introduce multi sources, reimplement consult-buffer with multi sources
  • consult-isearch: Add preview highlighting
  • consult-line: Use isearch-string when invoked from running isearch

Version 0.3 (2021-01-28)

  • Bugfixes
  • New command consult-isearch
  • New functions consult-register-format, consult-register-window, removed consult-register-preview

Version 0.2 (2021-01-16)

  • Initial stable release