Function: vertico--filter-completions
vertico--filter-completions is a byte-compiled function defined in
vertico.el.
Signature
(vertico--filter-completions &rest ARGS)
Documentation
Compute all completions for ARGS with lazy highlighting.
Source Code
;; Defined in ~/.emacs.d/elpa/vertico-20260811.1003/vertico.el
(defun vertico--filter-completions (&rest args)
"Compute all completions for ARGS with lazy highlighting."
(dlet ((completion-lazy-hilit t) (completion-lazy-hilit-fn nil))
(static-if (>= emacs-major-version 30)
(cons (apply #'completion-all-completions args) completion-lazy-hilit-fn)
(cl-letf* ((orig-pcm (symbol-function #'completion-pcm--hilit-commonality))
(orig-flex (symbol-function #'completion-flex-all-completions))
((symbol-function #'completion-flex-all-completions)
(lambda (&rest args)
;; Unfortunately for flex we have to undo the lazy highlighting, since flex uses
;; the completion-score for sorting, which is applied during highlighting.
(cl-letf (((symbol-function #'completion-pcm--hilit-commonality) orig-pcm))
(apply orig-flex args))))
((symbol-function #'completion-pcm--hilit-commonality)
(lambda (pattern cands)
(setq completion-lazy-hilit-fn
(lambda (x)
;; `completion-pcm--hilit-commonality' sometimes throws an internal error
;; for example when entering "/sudo:://u".
(condition-case nil
(car (completion-pcm--hilit-commonality pattern (list x)))
(t x))))
cands))
((symbol-function #'completion-hilit-commonality)
(lambda (cands prefix &optional base)
(setq completion-lazy-hilit-fn
(lambda (x) (car (completion-hilit-commonality (list x) prefix base))))
(and cands (nconc cands base)))))
(cons (apply #'completion-all-completions args) completion-lazy-hilit-fn)))))