branch: externals/vertico-posframe
commit 27d3939163d514ee4e4069edd0c88db976aa0354
Author: Feng Shu <[email protected]>
Commit: Feng Shu <[email protected]>
Fix: not compatible with latest version of vertico-multiform #40
---
vertico-posframe.el | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/vertico-posframe.el b/vertico-posframe.el
index 44c5cef7cc..cd46cd72ba 100644
--- a/vertico-posframe.el
+++ b/vertico-posframe.el
@@ -202,9 +202,18 @@ vertico-posframe works with vertico multiform toggle."
(posframe-hide vertico-posframe--buffer))
;; Support vertico-multiform
-(cl-pushnew 'vertico-posframe-mode vertico-multiform--display-modes)
-(vertico-multiform--define-display-toggle posframe)
-(define-key vertico-multiform-map (kbd "M-P") #'vertico-multiform-posframe)
+(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))
(cl-defmethod vertico--setup
:after (&context ((vertico-posframe-mode-workable-p) (eql t)))