[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vertico-posframe 9f2ba881a7 1/2: Add vertico-posframe-v
From: |
ELPA Syncer |
Subject: |
[elpa] externals/vertico-posframe 9f2ba881a7 1/2: Add vertico-posframe-vertico-multiform-key, fix #42 |
Date: |
Fri, 2 Feb 2024 03:59:13 -0500 (EST) |
branch: externals/vertico-posframe
commit 9f2ba881a76f7c4181d7083db2e92a402e93f52c
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
Add vertico-posframe-vertico-multiform-key, fix #42
---
vertico-posframe.el | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/vertico-posframe.el b/vertico-posframe.el
index 0db6a3d7a3..3396fe987d 100644
--- a/vertico-posframe.el
+++ b/vertico-posframe.el
@@ -145,6 +145,10 @@ a rule can be a regexp or a function.
minibuffer will not be hided by minibuffer-cover."
:type '(repeat (choice string function)))
+(defcustom vertico-posframe-vertico-multiform-key "M-p"
+ "The vertico-posframe keybinding used in vertico-multiform."
+ :type '(choice (const nil) string))
+
(defface vertico-posframe
'((t (:inherit default)))
"Face used by the vertico-posframe."
@@ -202,18 +206,23 @@ vertico-posframe works with vertico multiform toggle."
(posframe-hide vertico-posframe--buffer))
;; Support vertico-multiform
-(let* ((name 'posframe)
- (key (kbd "M-p"))
- (mode (intern (format "vertico-%s-mode" name)))
- (toggle (intern (format "vertico-multiform-%s" name))))
- (defalias toggle
- (lambda ()
- (interactive)
- (vertico-multiform-vertical mode))
- (format "Toggle the %s display." name))
- (push mode vertico-multiform--display-modes)
- (put toggle 'completion-predicate #'vertico--command-p)
- (define-key vertico-multiform-map key #'vertico-multiform-posframe))
+(defun vertico-posframe-vertico-multiform-setup ()
+ (let* ((name 'posframe)
+ (mode (intern (format "vertico-%s-mode" name)))
+ (toggle (intern (format "vertico-multiform-%s" name))))
+ (defalias toggle
+ (lambda ()
+ (interactive)
+ (vertico-multiform-vertical mode))
+ (format "Toggle the %s display." name))
+ (push mode vertico-multiform--display-modes)
+ (put toggle 'completion-predicate #'vertico--command-p)
+ (when vertico-posframe-vertico-multiform-key
+ (define-key vertico-multiform-map
+ (kbd vertico-posframe-vertico-multiform-key)
+ #'vertico-multiform-posframe))))
+
+(vertico-posframe-vertico-multiform-setup)
(cl-defmethod vertico--setup
:after (&context ((vertico-posframe-mode-workable-p) (eql t)))