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

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

[elpa] externals/pyim 4a5a8c8d4a 2/2: Add pyim-page-tooltip-style-alist.


From: ELPA Syncer
Subject: [elpa] externals/pyim 4a5a8c8d4a 2/2: Add pyim-page-tooltip-style-alist.
Date: Thu, 30 Dec 2021 16:58:06 -0500 (EST)

branch: externals/pyim
commit 4a5a8c8d4a975b1c3278386d2e49d1ead36391d4
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>

    Add pyim-page-tooltip-style-alist.
    
            * pyim-page.el (pyim-page-tooltip-style-alist): New customize.
            (pyim-page-info-format): Use pyim-page-tooltip-style-alist.
---
 pyim-page.el | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/pyim-page.el b/pyim-page.el
index 3c33c7bfaf..12b550344d 100644
--- a/pyim-page.el
+++ b/pyim-page.el
@@ -78,10 +78,20 @@ pyim 内建的有三种选词框格式:
 1. one-line    单行选词框
 2. two-lines   双行选词框
 3. vertical    垂直选词框
-4. minibuffer  单行选词框(minibuffer 中专用)
-5. exwm-xim    单行选词框(exwm-xim 环境中专用)"
+4. minibuffer  单行选词框 (minibuffer 中专用)
+5. exwm-xim    单行选词框 (exwm-xim 环境中专用)"
   :type 'symbol)
 
+(defcustom pyim-page-tooltip-style-alist
+  '((minibuffer . minibuffer)
+    (exwm-xim . exwm-xim))
+  "pyim page tooltip 专用 page style 绑定设置表。
+
+这个表是一个 alist, 每个元素的 car 代表 tooltip, cdr 代表对应的
+page style."
+  :type '(alist :key-type symbol
+                :value-type symbol))
+
 (defcustom pyim-page-posframe-border-width 0
   "posframe的内间距。
 只有当用户使用 posframe 来显示候选词时才有效。"
@@ -384,9 +394,8 @@ page 的概念,比如,上面的 “nihao” 的 *待选词列表* 就可以
 
 (defun pyim-page-info-format (page-info tooltip)
   "将 PAGE-INFO 按照 `pyim-page-style' 格式化为选词框中显示的字符串。"
-  (let* ((style (cond ((eq tooltip 'exwm-xim) 'exwm-xim)
-                      ((eq tooltip 'minibuffer) 'minibuffer)
-                      (t pyim-page-style))))
+  (let ((style (or (cdr (assoc tooltip pyim-page-tooltip-style-alist))
+                   pyim-page-style)))
     (let ((func (intern (format "pyim-page-style:%S" style))))
       (if (functionp func)
           (funcall func page-info)



reply via email to

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