[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vertico 0f896ef0ba: vertico-flat-format: Add :only-matc
From: |
ELPA Syncer |
Subject: |
[elpa] externals/vertico 0f896ef0ba: vertico-flat-format: Add :only-match format |
Date: |
Sun, 2 Jan 2022 12:57:45 -0500 (EST) |
branch: externals/vertico
commit 0f896ef0baee4d784a16d40e7cf3767105b4bb32
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
vertico-flat-format: Add :only-match format
---
extensions/vertico-flat.el | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/extensions/vertico-flat.el b/extensions/vertico-flat.el
index a738da57cb..8abdfc81a2 100644
--- a/extensions/vertico-flat.el
+++ b/extensions/vertico-flat.el
@@ -48,11 +48,12 @@
:group 'vertico)
(defcustom vertico-flat-format
- '(:left #("{" 0 1 (face minibuffer-prompt))
- :separator #(" | " 0 3 (face minibuffer-prompt))
- :right #("}" 0 1 (face minibuffer-prompt))
- :ellipsis #("…" 0 1 (face minibuffer-prompt))
- :no-match "[No match]")
+ '(:left #("{" 0 1 (face minibuffer-prompt))
+ :separator #(" | " 0 3 (face minibuffer-prompt))
+ :right #("}" 0 1 (face minibuffer-prompt))
+ :ellipsis #("…" 0 1 (face minibuffer-prompt))
+ :only-match #("[%s]" 0 4 (face success))
+ :no-match #("[No match]" 0 10 (face error)))
"Formatting strings."
:type 'plist
:group 'vertico)
@@ -72,11 +73,13 @@
(overlay-put
vertico--candidates-ov 'after-string
(concat #(" " 0 1 (cursor t))
- (if candidates
- (concat (plist-get vertico-flat-format :left)
- (string-join candidates (plist-get vertico-flat-format
:separator))
- (plist-get vertico-flat-format :right))
- (plist-get vertico-flat-format :no-match)))))
+ (pcase candidates
+ ('nil (plist-get vertico-flat-format :no-match))
+ ((and `(,cand) (let fmt (plist-get vertico-flat-format
:only-match)) (guard fmt))
+ (format fmt (substring-no-properties cand)))
+ (_ (concat (plist-get vertico-flat-format :left)
+ (string-join candidates (plist-get vertico-flat-format
:separator))
+ (plist-get vertico-flat-format :right)))))))
(defun vertico-flat--arrange-candidates ()
"Arrange candidates."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/vertico 0f896ef0ba: vertico-flat-format: Add :only-match format,
ELPA Syncer <=