[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/pyim 25ffc90: Add pyim-indicators
From: |
ELPA Syncer |
Subject: |
[elpa] externals/pyim 25ffc90: Add pyim-indicators |
Date: |
Tue, 6 Jul 2021 21:57:13 -0400 (EDT) |
branch: externals/pyim
commit 25ffc9061d5ddd9d7d92dc82ec92aaff272714f5
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
Add pyim-indicators
* pyim-indicator.el (pyim-indicator-list): New variable.
(pyim-indicator-daemon-function): Use pyim-indicators.
(pyim-indicator-with-cursor-color): New function.
(pyim-indicator-with-modeline): New function.
(pyim-indicator-default): Removed.
---
pyim-indicator.el | 36 +++++++++++++++++++++---------------
1 file changed, 21 insertions(+), 15 deletions(-)
diff --git a/pyim-indicator.el b/pyim-indicator.el
index 43834d8..12eceea 100644
--- a/pyim-indicator.el
+++ b/pyim-indicator.el
@@ -34,10 +34,11 @@
"Indicator for pyim."
:group 'pyim)
-(defcustom pyim-indicator #'pyim-indicator-default
- "PYIM 当前使用的 indicator.
+(defcustom pyim-indicator-list (list #'pyim-indicator-with-cursor-color
#'pyim-indicator-with-modeline)
+ "PYIM 当前使用的 indicators.
Indicator 用于显示输入法当前输入状态(英文还是中文)。"
- :type 'function)
+ :type '(choice (const :tag "Off" nil)
+ (repeat :tag "Indicator functions" function)))
(defvar pyim-indicator-cursor-color (list "green")
"`pyim-indicator-default' 使用的 cursor 颜色。
@@ -88,7 +89,9 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
(let ((chinese-input-p
(and (functionp func)
(funcall func))))
- (funcall pyim-indicator current-input-method chinese-input-p))))
+ (dolist (indicator pyim-indicator-list)
+ (when (functionp indicator)
+ (funcall indicator current-input-method chinese-input-p))))))
(defun pyim-indicator-revert-cursor-color ()
"将 cursor 颜色重置到 pyim 启动之前的状态。"
@@ -103,21 +106,24 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
(setq pyim-indicator-last-input-method-title
current-input-method-title)))
-(defun pyim-indicator-default (current-input-method chinese-input-p)
- "Pyim 默认使用的 indicator, 主要通过光标颜色和 mode-line 来显示输入状态。"
+(defun pyim-indicator-with-cursor-color (current-input-method chinese-input-p)
+ "Pyim 自带的 indicator, 通过光标颜色来显示输入状态。"
(if (not (equal current-input-method "pyim"))
- (progn
- ;; 大多数情况是因为用户切换 buffer, 新 buffer 中
- ;; pyim 没有启动,重置 cursor 颜色。
- (set-cursor-color pyim-indicator-original-cursor-color))
+ ;; 大多数情况是因为用户切换 buffer, 新 buffer 中
+ ;; pyim 没有启动,重置 cursor 颜色。
+ (set-cursor-color pyim-indicator-original-cursor-color)
(if chinese-input-p
- (progn
- (setq current-input-method-title (nth 0
pyim-indicator-modeline-string))
- (set-cursor-color (nth 0 pyim-indicator-cursor-color)))
- (setq current-input-method-title (nth 1 pyim-indicator-modeline-string))
+ (set-cursor-color (nth 0 pyim-indicator-cursor-color))
(set-cursor-color
(or (nth 1 pyim-indicator-cursor-color)
- pyim-indicator-original-cursor-color))))
+ pyim-indicator-original-cursor-color)))))
+
+(defun pyim-indicator-with-modeline (current-input-method chinese-input-p)
+ "Pyim 自带的 indicator, 使用 mode-line 来显示输入状态。"
+ (when (equal current-input-method "pyim")
+ (if chinese-input-p
+ (setq current-input-method-title (nth 0
pyim-indicator-modeline-string))
+ (setq current-input-method-title (nth 1
pyim-indicator-modeline-string))))
(pyim-indicator-update-mode-line))
;; * Footer
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/pyim 25ffc90: Add pyim-indicators,
ELPA Syncer <=