branch: externals/vertico
commit 9d8a33875686ef25d1c97fe4d5d3d3ed1d09ca7f
Author: Daniel Mendler <m...@daniel-mendler.de>
Commit: Daniel Mendler <m...@daniel-mendler.de>

    Improve scrolling behavior
---
 vertico.el | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/vertico.el b/vertico.el
index 98f2f82..de4366a 100644
--- a/vertico.el
+++ b/vertico.el
@@ -375,11 +375,13 @@
           (add-face-text-property 0 (length cand) 'vertico-current 'append 
cand))
         (push cand lines)
         (setq index (1+ index))))
-    (when (> (length lines) vertico-count)
-      (if (< current-line (- vertico-count 1))
-          (setq lines (nthcdr (- (length lines) vertico-count) lines))
-        (setcdr (nthcdr (- vertico-count 1) lines) nil)))
-    (nreverse lines)))
+    (setq lines (nreverse lines) index (length lines))
+    (while (> index vertico-count)
+      (if (< current-line (/ index 2))
+          (nbutlast lines)
+        (setq current-line (- current-line 1) lines (cdr lines)))
+      (setq index (- index 1)))
+    lines))
 
 (defun vertico--display-candidates (lines)
   "Update candidates overlay `vertico--candidates-ov' with LINES."

Reply via email to