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

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

[elpa] externals/vertico 8d12bc2: vertico-next/previous, vertico-scroll-


From: ELPA Syncer
Subject: [elpa] externals/vertico 8d12bc2: vertico-next/previous, vertico-scroll-up/down: Add a prefix argument
Date: Thu, 10 Jun 2021 07:57:14 -0400 (EDT)

branch: externals/vertico
commit 8d12bc232eee05f6f575003dc6affce62b835f8a
Author: Miha Rihtaršič <miha@kamnitnik.top>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    vertico-next/previous, vertico-scroll-up/down: Add a prefix argument
---
 vertico.el | 50 +++++++++++++++++++++++++-------------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/vertico.el b/vertico.el
index ea52471..3a2f75b 100644
--- a/vertico.el
+++ b/vertico.el
@@ -520,31 +520,31 @@
   (interactive)
   (vertico--goto (1- vertico--total)))
 
-(defun vertico-scroll-down ()
-  "Go back by one page."
-  (interactive)
-  (vertico--goto (max 0 (- vertico--index vertico-count))))
-
-(defun vertico-scroll-up ()
-  "Go forward by one page."
-  (interactive)
-  (vertico--goto (+ vertico--index vertico-count)))
-
-(defun vertico-next ()
-  "Go to next candidate."
-  (interactive)
-  (vertico--goto
-   (if (and vertico-cycle (= (1+ vertico--index) vertico--total))
-       -1
-     (1+ vertico--index))))
-
-(defun vertico-previous ()
-  "Go to previous candidate."
-  (interactive)
-  (vertico--goto
-   (if (and vertico-cycle (= vertico--index (if 
(vertico--allow-prompt-selection-p) -1 0)))
-       (1- vertico--total)
-     (1- vertico--index))))
+(defun vertico-scroll-down (&optional n)
+  "Go back by N pages."
+  (interactive "p")
+  (vertico--goto (max 0 (- vertico--index (* (or n 1) vertico-count)))))
+
+(defun vertico-scroll-up (&optional n)
+  "Go forward by N pages."
+  (interactive "p")
+  (vertico-scroll-down (- (or n 1))))
+
+(defun vertico-next (&optional n)
+  "Go forward N candidates."
+  (interactive "p")
+  (let ((index (+ vertico--index (or n 1))))
+    (vertico--goto
+     (cond
+      ((not vertico-cycle) index)
+      ((= vertico--total 0) -1)
+      ((vertico--allow-prompt-selection-p) (1- (mod (1+ index) (1+ 
vertico--total))))
+      (t (mod index vertico--total))))))
+
+(defun vertico-previous (&optional n)
+  "Go backward N candidates."
+  (interactive "p")
+  (vertico-next (- (or n 1))))
 
 (defun vertico-exit (&optional arg)
   "Exit minibuffer with current candidate or input if prefix ARG is given."



reply via email to

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