[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vertico d79c864c2c 2/2: vertico-multiform: Add vertico-
From: |
ELPA Syncer |
Subject: |
[elpa] externals/vertico d79c864c2c 2/2: vertico-multiform: Add vertico-multiform-reverse |
Date: |
Sun, 2 Jan 2022 17:57:53 -0500 (EST) |
branch: externals/vertico
commit d79c864c2c0af0659296829cd6121910dc61725d
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
vertico-multiform: Add vertico-multiform-reverse
Ensure that vertico-reverse-mode resets the overlay properly.
---
extensions/vertico-multiform.el | 10 ++++++++--
extensions/vertico-reverse.el | 7 ++++++-
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/extensions/vertico-multiform.el b/extensions/vertico-multiform.el
index d7ec6fb131..ca4c688e6f 100644
--- a/extensions/vertico-multiform.el
+++ b/extensions/vertico-multiform.el
@@ -49,6 +49,7 @@
;;
;; (define-key vertico-map "\M-G" #'vertico-multiform-grid)
;; (define-key vertico-map "\M-F" #'vertico-multiform-flat)
+;; (define-key vertico-map "\M-R" #'vertico-multiform-reverse)
;;
;;; Code:
@@ -160,19 +161,24 @@ APP is the original function call."
"Toggle MODE temporarily in minibuffer."
(if (and (boundp mode) (symbol-value mode))
(vertico-multiform--temporary-disable mode)
+ (dolist (m '(vertico-flat-mode vertico-grid-mode vertico-reverse-mode))
+ (vertico-multiform--temporary-disable m))
(vertico-multiform--temporary-enable mode)))
(defun vertico-multiform-grid ()
"Toggle the grid display."
(interactive)
- (vertico-multiform--temporary-disable 'vertico-flat-mode)
(vertico-multiform--temporary-toggle 'vertico-grid-mode))
(defun vertico-multiform-flat ()
"Toggle the flat display."
(interactive)
- (vertico-multiform--temporary-disable 'vertico-grid-mode)
(vertico-multiform--temporary-toggle 'vertico-flat-mode))
+(defun vertico-multiform-reverse ()
+ "Toggle the reverse display."
+ (interactive)
+ (vertico-multiform--temporary-toggle 'vertico-reverse-mode))
+
(provide 'vertico-multiform)
;;; vertico-multiform.el ends here
diff --git a/extensions/vertico-reverse.el b/extensions/vertico-reverse.el
index 0715d01e12..f59f796e1c 100644
--- a/extensions/vertico-reverse.el
+++ b/extensions/vertico-reverse.el
@@ -56,13 +56,18 @@
(setq lines (nconc (make-list (max 0 (- vertico-count (length lines)))
"\n") lines)))
(let ((string (apply #'concat lines)))
(add-face-text-property 0 (length string) 'default 'append string)
- (overlay-put vertico--candidates-ov 'before-string string))
+ (overlay-put vertico--candidates-ov 'before-string string)
+ (overlay-put vertico--candidates-ov 'after-string nil))
(vertico--resize-window (length lines)))
;;;###autoload
(define-minor-mode vertico-reverse-mode
"Reverse the Vertico display."
:global t :group 'vertico
+ ;; Reset overlays
+ (dolist (buf (buffer-list))
+ (when-let (ov (buffer-local-value 'vertico--candidates-ov buf))
+ (overlay-put vertico--candidates-ov 'before-string nil)))
(cond
(vertico-reverse-mode
(unless (eq (cadr vertico-map) vertico-reverse-map)