[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vertico 14e1c6f 2/3: vertico-exit: Extract vertico--mat
From: |
ELPA Syncer |
Subject: |
[elpa] externals/vertico 14e1c6f 2/3: vertico-exit: Extract vertico--match-p |
Date: |
Tue, 6 Jul 2021 13:57:17 -0400 (EDT) |
branch: externals/vertico
commit 14e1c6ffa2a46376ae2e3534d111c55c36b78cce
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
vertico-exit: Extract vertico--match-p
---
vertico.el | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/vertico.el b/vertico.el
index f4327c2..c3460d8 100644
--- a/vertico.el
+++ b/vertico.el
@@ -599,20 +599,23 @@ See `resize-mini-windows' for documentation."
(interactive "p")
(vertico-next (- (or n 1))))
+(defun vertico--match-p (input)
+ "Return t if INPUT is a valid match."
+ (or (memq minibuffer--require-match '(nil confirm-after-completion))
+ (equal "" input) ;; The questionable null completion
+ (test-completion input
+ minibuffer-completion-table
+ minibuffer-completion-predicate)
+ (if (eq minibuffer--require-match 'confirm)
+ (eq (ignore-errors (read-char "Confirm")) 13)
+ (and (message "Match required") nil))))
+
(defun vertico-exit (&optional arg)
"Exit minibuffer with current candidate or input if prefix ARG is given."
(interactive "P")
(unless arg (vertico-insert))
- (let ((input (minibuffer-contents-no-properties)))
- (when (or (memq minibuffer--require-match '(nil confirm-after-completion))
- (equal "" input) ;; The questionable null completion
- (test-completion input
- minibuffer-completion-table
- minibuffer-completion-predicate)
- (if (eq minibuffer--require-match 'confirm)
- (eq (ignore-errors (read-char "Confirm")) 13)
- (and (message "Match required") nil)))
- (exit-minibuffer))))
+ (when (vertico--match-p (minibuffer-contents-no-properties))
+ (exit-minibuffer)))
(defun vertico-next-group (&optional n)
"Cycle N groups forward.