emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/ivy-posframe cc64ed6 115/195: extend display-functions-


From: Feng Shu
Subject: [elpa] externals/ivy-posframe cc64ed6 115/195: extend display-functions-alist to configure-alist
Date: Sat, 3 Oct 2020 07:11:56 -0400 (EDT)

branch: externals/ivy-posframe
commit cc64ed60aeebb8841603a3505182f65be659c31d
Author: conao3 <conao3@gmail.com>
Commit: conao3 <conao3@gmail.com>

    extend display-functions-alist to configure-alist
---
 ivy-posframe.el | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/ivy-posframe.el b/ivy-posframe.el
index 409a1e0..c18444f 100644
--- a/ivy-posframe.el
+++ b/ivy-posframe.el
@@ -121,11 +121,6 @@
   :group 'ivy
   :prefix "ivy-posframe")
 
-(defcustom ivy-posframe-display-functions-alist '((t . ivy-posframe-display))
-  "The ivy function, display function alist."
-  :group 'ivy-posframe
-  :type 'sexp)
-
 (defcustom ivy-posframe-style 'window-bottom-left
   "The style of ivy-posframe."
   :group 'ivy-posframe
@@ -173,6 +168,14 @@ When 0, no border is showed."
   :group 'ivy-posframe
   :type 'string)
 
+(defcustom ivy-posframe-configure-alist
+  `(,@(when ivy-posframe-height
+        `(ivy-height-alist . ((t . ,ivy-posframe-height))))
+    (ivy-display-functions-alist . ((t . ivy-posframe-display))))
+  "The ivy configuration alist."
+  :group 'ivy-posframe
+  :type 'sexp)
+
 (defface ivy-posframe
   '((t (:inherit default)))
   "Face used by the ivy-posframe."
@@ -466,17 +469,20 @@ selection, non-nil otherwise."
   (let ((fncs ivy-posframe-display-function-list)
         (advs ivy-posframe-advice-alist)
         (keys ivy-posframe-keybind-list)
-        (dfns ivy-posframe-display-functions-alist))
+        (configures ivy-posframe-configure-alist))
     (if ivy-posframe-mode
         (eval
          `(progn
-            ,@(mapcar (lambda (elm) `(push ',elm ivy-display-functions-alist)) 
dfns)
+            ,@(mapcan
+               (lambda (conf) (mapcar (lambda (elm) `(push ',elm ,(car conf))) 
(cdr conf))) configures)
             ,@(mapcar (lambda (elm) `(push '(,elm :cleanup 
ivy-posframe-cleanup) ivy-display-functions-props)) fncs)
             ,@(mapcar (lambda (elm) `(advice-add ',(car elm) :around #',(cdr 
elm))) advs)
             ,@(mapcar (lambda (elm) `(define-key ,(nth 0 elm) ,(nth 1 elm) 
',(nth 2 elm))) keys)))
       (eval
        `(progn
-          ,@(mapcar (lambda (elm) `(setq ivy-display-functions-alist (delete 
',elm ivy-display-functions-alist))) dfns)
+          ,@(mapcan
+             (lambda (conf) (mapcar (lambda (elm) `(setq ,(car conf) (remove 
',elm ,(car conf)))) (cdr conf))) configures)
+          ,@(mapcar (lambda (elm) `(setq ivy-display-functions-alist (delete 
',elm ivy-display-functions-alist))) configures)
           ,@(mapcar (lambda (elm) `(push '(,elm :cleanup ignore) 
ivy-display-functions-props)) fncs)
           ,@(mapcar (lambda (elm) `(advice-remove ',(car elm) #',(cdr elm))) 
advs)
           ,@(mapcar (lambda (elm) `(define-key ,(nth 0 elm) ,(nth 1 elm) nil)) 
keys))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]