From: Jimmy Aguilar Mena Date: Mon, 16 Nov 2020 10:01:11 +0000 (+0100) Subject: Add custom variable completions-highlight-autoselect. X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ab1e2e6b202eb0e9c8055f972998e4ccf321c7de;p=emacs.git Add custom variable completions-highlight-autoselect. * lisp/completions-highlight.el (completions-highlight-autoselect) : New custom. (completions-highlight-setup) : Auto selects the first candidate when completions-highlight-autoselect is non nil. --- diff --git a/lisp/completions-highlight.el b/lisp/completions-highlight.el index e675a72095d..78017f9662a 100644 --- a/lisp/completions-highlight.el +++ b/lisp/completions-highlight.el @@ -58,6 +58,17 @@ (require 'simple) (require 'minibuffer) +(defcustom completions-highlight-autoselect nil + "Select first candidate without extra tab. + +When this variable is nil an extra tab is required to select and +highlight the first candidate in the *Completions* buffer. When +the value is non-nil the candidate is selected every time the +buffer is shown and updated." + :type 'boolean + :group 'completion + :version "28.1") + (defvar completions-highlight-overlay (make-overlay 0 0) "Overlay to use when `completion-highlight-mode' is enabled.") @@ -267,7 +278,12 @@ It is called when showing the *Completions* buffer." ;; Add completions-highlight-completions-map to *Completions* (use-local-map (make-composed-keymap - completions-highlight-completions-map (current-local-map))))) + completions-highlight-completions-map (current-local-map))) + + ;; Autoselect candidate if enabled + (when completions-highlight-autoselect + (with-selected-window (get-buffer-window (current-buffer) 0) + (completions-highlight-next-completion 1))))) (add-hook 'pre-command-hook #'completions-highlight-minibuffer-pre-command-hook nil t)