Function: vertico--update

vertico--update is a byte-compiled function defined in vertico.el.

Signature

(vertico--update &optional INTERRUPTIBLE)

Documentation

Update state, optionally INTERRUPTIBLE.

Source Code

;; Defined in ~/.emacs.d/elpa/vertico-20260811.1003/vertico.el
(defun vertico--update (&optional interruptible)
  "Update state, optionally INTERRUPTIBLE."
  (let* ((pt (max 0 (- (point) (minibuffer-prompt-end))))
         (str (minibuffer-contents-no-properties))
         (input (cons str pt)))
    (unless (or (and interruptible (input-pending-p)) (equal vertico--input input))
      ;; Redisplay to make input immediately visible before expensive candidate
      ;; recomputation (gh:minad/vertico#89).  No redisplay during init because
      ;; of flicker.
      (when (and interruptible (consp vertico--input))
        ;; Prevent recursive exhibit from timer (`consult-vertico--refresh').
        (cl-letf (((symbol-function #'vertico--exhibit) #'ignore)) (redisplay)))
      (pcase (let ((vertico--metadata (completion-metadata (substring str 0 pt)
                                                           minibuffer-completion-table
                                                           minibuffer-completion-predicate)))
               ;; If Tramp is used, do not compute the candidates in an
               ;; interruptible fashion, since this will break the Tramp
               ;; password and user name prompts (See gh:minad/vertico#23).
               (if (or (not interruptible)
                       (and (eq 'file (vertico--metadata-get 'category))
                            (or (vertico--remote-p str) (vertico--remote-p default-directory))))
                   (vertico--compute input)
                 (let ((non-essential t))
                   (while-no-input (vertico--compute input)))))
        ('nil (abort-recursive-edit))
        ((and state (pred consp))
         (dolist (s state) (set (car s) (cdr s))))))))