Function: corfu--continue-p
corfu--continue-p is a byte-compiled function defined in corfu.el.
Signature
(corfu--continue-p)
Documentation
Check if completion should continue after a command.
Corfu bails out if the current buffer changed unexpectedly or if
point moved out of range, see corfu--range-valid-p. Also the
input must satisfy the completion-in-region-mode--predicate and
the last command must be listed in corfu-continue-commands.
Source Code
;; Defined in ~/.emacs.d/elpa/corfu-20260813.950/corfu.el
(defun corfu--continue-p ()
"Check if completion should continue after a command.
Corfu bails out if the current buffer changed unexpectedly or if
point moved out of range, see `corfu--range-valid-p'. Also the
input must satisfy the `completion-in-region-mode--predicate' and
the last command must be listed in `corfu-continue-commands'."
(and (corfu--range-valid-p)
;; We keep Corfu alive if a `overriding-terminal-local-map' is
;; installed, e.g., the `universal-argument-map'. It would be good to
;; think about a better criterion instead. Unfortunately relying on
;; `this-command' alone is insufficient, since the value of
;; `this-command' gets clobbered in the case of transient keymaps.
(or overriding-terminal-local-map
;; Check if it is an explicitly listed continue command
(corfu--match-symbol-p corfu-continue-commands this-command)
(pcase-let ((`(,beg ,end . ,_) completion-in-region--data))
(and (or (equal (or (car corfu--input) "") "") (< beg end)) ;; Check for empty input
(or (not corfu-quit-at-boundary) ;; Check separator or predicate
(and (eq corfu-quit-at-boundary 'separator)
(or (eq this-command #'corfu-insert-separator)
;; with separator, any further chars allowed
(seq-contains-p (car corfu--input) corfu-separator)))
(funcall completion-in-region-mode--predicate)))))))