emacs-diffs
[Top][All Lists]
Advanced

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

master 2234fe929a4 2/2: (completion-preview-prev-candidate): add numeric


From: Eshel Yaron
Subject: master 2234fe929a4 2/2: (completion-preview-prev-candidate): add numeric prefix argument
Date: Tue, 23 Apr 2024 08:39:59 -0400 (EDT)

branch: master
commit 2234fe929a4d397941b257941bfe2634b0cd7a10
Author: Eshel Yaron <me@eshelyaron.com>
Commit: Eshel Yaron <me@eshelyaron.com>

    (completion-preview-prev-candidate): add numeric prefix argument
    
    * lisp/completion-preview.el (completion-preview-prev-candidate):
    Add numeric prefix argument N.
    (completion-preview-next-candidate): Update documentation.
---
 lisp/completion-preview.el | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/lisp/completion-preview.el b/lisp/completion-preview.el
index a3443eae801..25c1cd4a22f 100644
--- a/lisp/completion-preview.el
+++ b/lisp/completion-preview.el
@@ -489,16 +489,18 @@ completions list."
                              'keymap completion-preview--mouse-map))
                        'completion-preview-end pos))))))
 
-(defun completion-preview-prev-candidate ()
-  "Cycle the candidate that the preview is showing to the previous suggestion."
-  (interactive)
-  (completion-preview-next-candidate -1))
+(defun completion-preview-prev-candidate (n)
+  "Cycle the candidate the preview is showing N candidates backward.
+
+If N is negative, cycle -N candidates forward.  Interactively, N is the
+prefix argument and defaults to 1."
+  (interactive "p")
+  (completion-preview-next-candidate (- n)))
 
-(defun completion-preview-next-candidate (direction)
-  "Cycle the candidate that the preview is showing in direction DIRECTION.
+(defun completion-preview-next-candidate (n)
+  "Cycle the candidate the preview is showing N candidates forward.
 
-DIRECTION should be either 1 which means cycle forward, or -1
-which means cycle backward.  Interactively, DIRECTION is the
+If N is negative, cycle -N candidates backward.  Interactively, N is the
 prefix argument and defaults to 1."
   (interactive "p")
   (when completion-preview-active-mode
@@ -508,7 +510,7 @@ prefix argument and defaults to 1."
            (com (completion-preview--get 'completion-preview-common))
            (cur (completion-preview--get 'completion-preview-index))
            (len (length all))
-           (new (mod (+ cur direction) len))
+           (new (mod (+ cur n) len))
            (suf (nth new all))
            (lencom (length com)))
       ;; Skip suffixes that are no longer applicable.  This may happen
@@ -519,7 +521,7 @@ prefix argument and defaults to 1."
       (while (or (<= (+ beg lencom (length suf)) end)
                  (not (string-prefix-p (buffer-substring beg end)
                                        (concat com suf))))
-        (setq new (mod (+ new direction) len)
+        (setq new (mod (+ new n) len)
               suf (nth new all)))
       (set-text-properties 0 (length suf)
                            (list 'face (if (cdr all)



reply via email to

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