emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/vertico 7d52afe744 1/4: vertico-repeat: If called from


From: ELPA Syncer
Subject: [elpa] externals/vertico 7d52afe744 1/4: vertico-repeat: If called from minibuffer, filter by current command
Date: Sun, 10 Jul 2022 05:58:03 -0400 (EDT)

branch: externals/vertico
commit 7d52afe74429e0ca18c3cde41b88aac3d687e949
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    vertico-repeat: If called from minibuffer, filter by current command
---
 extensions/vertico-repeat.el | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/extensions/vertico-repeat.el b/extensions/vertico-repeat.el
index 9875a15f96..ae893ef736 100644
--- a/extensions/vertico-repeat.el
+++ b/extensions/vertico-repeat.el
@@ -111,21 +111,29 @@ This function must be registered as 
`minibuffer-setup-hook'."
 (defun vertico-repeat-last (&optional session)
   "Repeat last Vertico completion SESSION."
   (interactive
-   (list (or (car vertico-repeat-history)
+   (list (or (if vertico-repeat--command
+                 (seq-find (lambda (x) (eq (car x) vertico-repeat--command))
+                           vertico-repeat-history)
+               (car vertico-repeat-history))
              (user-error "No repeatable Vertico session"))))
-  (minibuffer-with-setup-hook
-      (apply-partially #'vertico-repeat--restore session)
-    (command-execute (setq this-command (car session)))))
+  (if (and vertico-repeat--command (eq vertico-repeat--command (car session)))
+      (vertico-repeat--restore session)
+    (minibuffer-with-setup-hook
+        (apply-partially #'vertico-repeat--restore session)
+      (command-execute (setq this-command (car session))))))
 
 ;;;###autoload
 (defun vertico-repeat-select ()
   "Select a Vertico session from the session history and repeat it."
   (interactive)
-  (let* ((trimmed
+  (let* ((cmd vertico-repeat--command)
+         (trimmed
           (delete-dups
            (or
             (cl-loop
-             for session in vertico-repeat-history collect
+             for session in vertico-repeat-history
+             if (or (not cmd) (eq (car session) cmd))
+             collect
              (list
               (symbol-name (car session))
               (replace-regexp-in-string



reply via email to

[Prev in Thread] Current Thread [Next in Thread]