'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
(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
(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)