NonGNU ELPA - vcomplete


Visual completions
vcomplete-2.0.tar (.sig), 2024-Mar-31, 50.0 KiB
Vcomplete Mailing List <~dsemy/>
Atom feed
Browse ELPA's repository
CGit or Gitweb

To install this package from Emacs, use package-install or list-packages.

Full description

Vcomplete provides a minor mode which highlights the completion at
point the completion list buffer and (optionally) automatically
updates it.


Enable `vcomplete-mode':


For use-package users:

(use-package vcomplete

When `vcomplete-mode' is active:
- The completion list buffer opens and updates automatically (see
- 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)'.

Old versions

vcomplete-1.2.1.tar.lz2022-May-247.92 KiB


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

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