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

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

[elpa] externals/vertico a98a6a9 1/5: Pass start index to vertico--forma


From: ELPA Syncer
Subject: [elpa] externals/vertico a98a6a9 1/5: Pass start index to vertico--format-candidate
Date: Fri, 9 Jul 2021 23:57:19 -0400 (EDT)

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

    Pass start index to vertico--format-candidate
---
 extensions/vertico-quick.el | 13 ++++---------
 vertico.el                  |  7 ++++---
 2 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/extensions/vertico-quick.el b/extensions/vertico-quick.el
index 2d61588..a1ec63c 100644
--- a/extensions/vertico-quick.el
+++ b/extensions/vertico-quick.el
@@ -56,17 +56,15 @@
   :type 'string
   :group 'vertico)
 
-(defvar-local vertico-quick--index 0)
 (defvar-local vertico-quick--list 0)
 (defvar-local vertico-quick--first nil)
 
-(defun vertico-quick--format-candidate (orig cand prefix suffix index)
+(defun vertico-quick--format-candidate (orig cand prefix suffix index start)
   "Format candidate, see `vertico--format-candidate' for arguments."
   (let* ((fst (length vertico-quick1))
          (snd (length vertico-quick2))
          (len (+ fst snd))
-         (idx vertico-quick--index))
-    (setq vertico-quick--index (1+ idx))
+         (idx (- index start)))
     (funcall orig cand
              (concat
               (if (>= idx fst)
@@ -87,15 +85,13 @@
                       "  "
                     (concat (propertize (char-to-string first) 'face 
'vertico-quick1) " "))))
               (make-string (max 1 (- (length prefix) 2)) ?\s))
-             suffix
-             index)))
+             suffix index start)))
 
 ;;;###autoload
 (defun vertico-quick-jump ()
   "Jump to candidate using quick keys."
   (interactive)
-  (cl-letf* ((vertico-quick--index 0)
-             (vertico-quick--list nil)
+  (cl-letf* ((vertico-quick--list nil)
              (key nil)
              (orig-format (symbol-function #'vertico--format-candidate))
              ((symbol-function #'vertico--format-candidate)
@@ -104,7 +100,6 @@
     (setq key (read-key))
     (when (seq-position vertico-quick2 key)
       (let ((vertico-quick--first key)
-            (vertico-quick--index 0)
             (vertico-quick--list))
         (vertico--exhibit))
       (setq key (+ (lsh key 16) (read-key))))
diff --git a/vertico.el b/vertico.el
index 69238da..6b5ea8d 100644
--- a/vertico.el
+++ b/vertico.el
@@ -426,7 +426,7 @@ See `resize-mini-windows' for documentation."
      (replace-regexp-in-string "\\`[\t\n ]+\\|[\t\n ]+\\'" ""))
    max-width 0 nil (cdr vertico-multiline)))
 
-(defun vertico--format-candidate (cand prefix suffix index)
+(defun vertico--format-candidate (cand prefix suffix index _start)
   "Format CAND given PREFIX, SUFFIX and INDEX."
   (setq cand (concat prefix cand suffix "\n")
         cand (vertico--flatten-string 'invisible (vertico--flatten-string 
'display cand)))
@@ -438,8 +438,9 @@ See `resize-mini-windows' for documentation."
   "Format current candidates with METADATA."
   (let* ((group-fun (completion-metadata-get metadata 'group-function))
          (group-format (and group-fun vertico-group-format (concat 
vertico-group-format "\n")))
-         (index (min (max 0 (- vertico--index (/ vertico-count 2) (if 
group-format -1 0)))
+         (start (min (max 0 (- vertico--index (/ vertico-count 2) (if 
group-format -1 0)))
                      (max 0 (- vertico--total vertico-count))))
+         (index start)
          (candidates
           (thread-last (seq-subseq vertico--candidates index
                                    (min (+ index vertico-count) 
vertico--total))
@@ -459,7 +460,7 @@ See `resize-mini-windows' for documentation."
           (setq curr-line (length lines)))
         (when (string-match-p "\n" cand)
           (setq cand (vertico--truncate-multiline cand max-width)))
-        (push (vertico--format-candidate cand prefix suffix index) lines)
+        (push (vertico--format-candidate cand prefix suffix index start) lines)
         (setq index (1+ index))))
     (setq lines (nreverse lines) index (length lines))
     (while (> index vertico-count)



reply via email to

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