To install this package, run in Emacs:
M-x package-install RET vcomplete RET
Vcomplete provides a minor mode which highlights the completion at point the completion list buffer and (optionally) automatically updates it. Usage: Enable `vcomplete-mode': (vcomplete-mode) For use-package users: (use-package vcomplete :config (vcomplete-mode)) When `vcomplete-mode' is active: - The completion list buffer opens and updates automatically (see `vcomplete-auto-update'). - The completion list buffer can be controlled through the minibuffer (during minibuffer completion) or the current buffer (during in-buffer completion), if it's visible. - The currently selected completion is highlighted in the completion list buffer. C-n moves point to the next completion. C-p moves point to the previous completion. M-RET (C-M-m) chooses the completion at point. More commands can be added through `vcomplete-command-map': (define-key vcomplete-command-map (kbd "C-a") #'my-command) You can customize `vcomplete-mode' using the customize interface: M-x customize-group RET vcomplete RET For more information see info node `(Vcomplete)'.
Vcomplete NEWS -- history of user-visible changes. -*- mode: outline -*- See the end of the file for an explanation of the versioning scheme. * 2.0 ** Support built-in completion enhancements introduced in Emacs 29. Built-in commands are now used when available. Completions are highlighted using built-in facilities when available. ** 'vcomplete-current-completion' can now be called from anywhere and without any arguments (in which case point is used). ** Breaking changes *** 'vcomplete-with-completions-buffer' has been replaced with 'vcomplete-with-completions-window'. This breaks the previously available Embark integration. *** 'vcomplete-search-range' is no longer used in Emacs 29+. *** 'vcomplete-current-completion' never throws a user error anymore. * 1.2.1 ** Remove Embark integration. Embark integration broke in a non-trivial way, so it has been removed due to a lack of interest in maintaining it. This integration is compatible with older versions of Embark (and will continue to be compatible with Vcomplete for versions before 2.0) so it is possible to install it manually from a previous release. * 1.2 ** Fix the completion list window still highlighting completions in some cases after 'vcomplete-mode' is disabled. ** Improve Embark integration. Fix Embark 'non-edit commands' not immediately exiting when 'vcomplete-auto-update' is t. Add (auto loaded) 'vcomplete-embark-mode' which enables Embark integration. It is no longer required to explicitly load 'vcomplete-embark.el' to enable this integration. ** Add 'vcomplete-search-range'. This custom variable is used to control in which frames the completion list buffer is searched for during completion. * 1.1 ** Add the 'vcomplete-highlight' face. This face is used to highlight completions. By default, it is the same as the built-in 'highlight' face. ** Add 'vcomplete-no-update-commands'. This custom variable is used to control which commands shouldn't cause the completions list buffer to update. ** Embark support has been moved to a separate file. It must be loaded explicitly (using '(require 'vcomplete-embark)' or similar). * 1.0 ** Make auto updating the completion list buffer more responsive. ** Support commands which use 'completion-in-region' in the minibuffer. ** Add basic Embark support. ** Highlight the completion at point in the completion list buffer even when using normal navigation commands. ** Remove 'vcomplete-kill-buffer'. This was done as part of an effort to simplify the code base (since third party solutions to completion actions exist). ** Optionally automatically update the completion list buffer. See 'vcomplete-auto-update's documentation string for more information. * 0.1 ** Initial version. * Versioning scheme Vcomplete's versioning scheme is inspired by semver (https://semver.org/). Each version number is of the form MAJOR.MINOR.PATCH (patch may be omitted if 0). The MAJOR version is bumped when a user facing variable or function changes in a way that could cause previous user configuration to break (where user configuration considered is configuration done through the customize interface). A MAJOR version bump is very unlikely. The MINOR version is bumped when a feature is added in a non-breaking way. The PATCH version is bumped when no feature is added (e.g. a version with only fixes, or changes to documentation). Note that versions before 1.0 did not follow this scheme.