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

Reply via email to