[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vertico 12a3d83 2/2: Rework vertico-indexed
From: |
ELPA Syncer |
Subject: |
[elpa] externals/vertico 12a3d83 2/2: Rework vertico-indexed |
Date: |
Sat, 10 Jul 2021 07:57:18 -0400 (EDT) |
branch: externals/vertico
commit 12a3d83356395cc9af845b60e4a53dd9923ff978
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Rework vertico-indexed
---
extensions/vertico-indexed.el | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/extensions/vertico-indexed.el b/extensions/vertico-indexed.el
index cbd8298..28e4a79 100644
--- a/extensions/vertico-indexed.el
+++ b/extensions/vertico-indexed.el
@@ -50,10 +50,12 @@
prefix)
suffix index start))
-(defun vertico-indexed--goto ()
- "Goto candidate given by `current-prefix-arg'."
- (when current-prefix-arg
- (vertico--goto (+ vertico-indexed--start (prefix-numeric-value
current-prefix-arg)))))
+(defun vertico-indexed--handle-prefix (orig)
+ "Handle prefix argument before calling ORIG function."
+ (let ((vertico--index (if current-prefix-arg
+ (+ vertico-indexed--start (prefix-numeric-value
current-prefix-arg))
+ vertico--index)))
+ (funcall orig)))
;;;###autoload
(define-minor-mode vertico-indexed-mode
@@ -62,12 +64,12 @@
(cond
(vertico-indexed-mode
(advice-add #'vertico--format-candidate :around
#'vertico-indexed--format-candidate)
- (advice-add #'vertico-insert :before #'vertico-indexed--goto)
- (advice-add #'vertico-exit :before #'vertico-indexed--goto))
+ (advice-add #'vertico-insert :around #'vertico-indexed--handle-prefix)
+ (advice-add #'vertico-exit :around #'vertico-indexed--handle-prefix))
(t
(advice-remove #'vertico--format-candidate
#'vertico-indexed--format-candidate)
- (advice-remove #'vertico-insert #'vertico-indexed--goto)
- (advice-remove #'vertico-exit #'vertico-indexed--goto))))
+ (advice-remove #'vertico-insert #'vertico-indexed--handle-prefix)
+ (advice-remove #'vertico-exit #'vertico-indexed--handle-prefix))))
(provide 'vertico-indexed)
;;; vertico-indexed.el ends here