From e9363e4e094ec27c302b4282198f0d9662bf4f48 Mon Sep 17 00:00:00 2001 From: Eshel Yaron Date: Mon, 18 Mar 2024 09:08:11 +0100 Subject: [PATCH] New command 'minibuffer-toggle-completions-annotations' --- lisp/minibuffer.el | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index ec2411da009..27351ad56da 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -2957,6 +2957,11 @@ completions list." "Record STRING and BASE for `minibuffer-restore-completion-input'." (setq completion--input (cons string base))) +(defcustom minibuffer-completion-annotations t + "Whether to display annotations for completion candidates." + :type 'boolean + :version "30.1") + (defun minibuffer-completion-help (&optional start end) "Display a list of possible completions of the current minibuffer contents." (interactive) @@ -3099,16 +3104,17 @@ completions list." (_ completions-group-sort)) completions))) - (cond - (aff-fun - (setq completions - (funcall aff-fun completions))) - (ann-fun - (setq completions - (mapcar (lambda (s) - (let ((ann (funcall ann-fun s))) - (if ann (list s ann) s))) - completions)))) + (when minibuffer-completion-annotations + (cond + (aff-fun + (setq completions + (funcall aff-fun completions))) + (ann-fun + (setq completions + (mapcar (lambda (s) + (let ((ann (funcall ann-fun s))) + (if ann (list s ann) s))) + completions))))) (setq minibuffer-scroll-window (let ((standard-output (get-buffer-create "*Completions*"))) (completions-display @@ -3597,6 +3603,7 @@ The completion method is determined by `completion-at-point-functions'." "C-x n" 'minibuffer-narrow-completions-map "C-x /" #'minibuffer-set-completion-styles "C-x ~" #'minibuffer-toggle-exceptional-candidates + "C-x C-a" #'minibuffer-toggle-completions-annotations "C-j" #'minibuffer-apply "C-p" #'minibuffer-previous-line-or-completion "C-n" #'minibuffer-next-line-or-completion @@ -5801,6 +5808,13 @@ members of the minibuffer history list." (if completions-exclude-exceptional-candidates "ex" "in"))) +(defun minibuffer-toggle-completions-annotations () + "Toggle display of annotations for completion candidates." + (interactive nil minibuffer-mode) + (setq-local minibuffer-completion-annotations + (not minibuffer-completion-annotations)) + (when (get-buffer-window "*Completions*" 0) (minibuffer-completion-help))) + (defun minibuffer-widen-completions (&optional all) "Remove restrictions on current minibuffer completions list. -- 2.39.5