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

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

[elpa] externals/pyim a52c11ada2 2/2: Add pyim-process-ui-* functions.


From: ELPA Syncer
Subject: [elpa] externals/pyim a52c11ada2 2/2: Add pyim-process-ui-* functions.
Date: Tue, 3 May 2022 23:57:42 -0400 (EDT)

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

    Add pyim-process-ui-* functions.
    
            * pyim-process.el (pyim-process-ui-init)
            (pyim-process-ui-refresh, pyim-process-ui-hide): New functions.
            (pyim-process-run-1, pyim-process-run-async)
            (pyim-process-terminate): Use New functions.
    
            * pyim-page.el (pyim-page-next-page, pyim-page-next-word): Use New 
functions.
---
 pyim-page.el    |  4 ++--
 pyim-process.el | 17 ++++++++++++++---
 pyim.el         |  2 +-
 3 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/pyim-page.el b/pyim-page.el
index db239d4c6c..923dfd2d6b 100644
--- a/pyim-page.el
+++ b/pyim-page.el
@@ -250,7 +250,7 @@ page 的概念,比如,上面的 “nihao” 的 *待选词列表* 就可以
         (if (> new 0)
             (if (> new maxpos) 1 new)
           maxpos)))
-      (run-hooks 'pyim-process-ui-refresh-hook))))
+      (pyim-process-ui-refresh))))
 
 (defun pyim-page-previous-page (arg)
   (interactive "p")
@@ -268,7 +268,7 @@ page 的概念,比如,上面的 “nihao” 的 *待选词列表* 就可以
        (if (>= len new)
            (if (> new 0) new len)
          1))
-      (run-hook-with-args 'pyim-process-ui-refresh-hook 'hightlight-current))))
+      (pyim-process-ui-refresh 'hightlight-current))))
 
 (defun pyim-page-previous-word (arg)
   (interactive "p")
diff --git a/pyim-process.el b/pyim-process.el
index 045808bf4a..ebd9b73f9e 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -138,6 +138,10 @@ entered (nihaom) 的第一个候选词。
  '(pyim-process-input-ascii
    pyim-process-translating))
 
+(defun pyim-process-ui-init ()
+  "初始化 pyim 相关 UI."
+  (run-hooks 'pyim-process-ui-init-hook))
+
 (defun pyim-process-init-dcaches (&optional force)
   "PYIM 流程,词库相关的初始化工作。"
   (pyim-recreate-local-variables)
@@ -336,7 +340,11 @@ entered (nihaom) 的第一个候选词。
          (pyim-entered-get 'point-after))
         (pyim-process-terminate))
        (t (setq pyim-candidate-position 1)
-          (run-hooks 'pyim-process-ui-refresh-hook))))))
+          (pyim-process-ui-refresh))))))
+
+(defun pyim-process-ui-refresh (&optional hightlight-current)
+  "刷新 pyim 相关 UI."
+  (run-hook-with-args 'pyim-process-ui-refresh-hook hightlight-current))
 
 (defun pyim-process-self-insert-command-p (cmd)
   "测试 CMD 是否是一个 pyim self insert command."
@@ -348,7 +356,7 @@ entered (nihaom) 的第一个候选词。
          (words (delete-dups (pyim-candidates-create pyim-imobjs scheme-name 
t))))
     (when words
       (setq pyim-candidates words)
-      (run-hooks 'pyim-process-ui-refresh-hook))))
+      (pyim-process-ui-refresh))))
 
 (defun pyim-process-run-async-timer-reset ()
   "Reset `pyim-process-run-async-timer'."
@@ -652,14 +660,17 @@ BUG:拼音无法有效地处理多音字。"
   (setq pyim-process-force-input-chinese nil)
   (setq pyim-candidates nil)
   (setq pyim-candidates-last nil)
-  (run-hooks 'pyim-process-ui-hide-hook)
   (setq pyim-cstring-to-code-criteria nil)
   (pyim-process-run-async-timer-reset)
+  (pyim-process-ui-hide)
   (let* ((class (pyim-scheme-get-option (pyim-scheme-name) :class))
          (func (intern (format "pyim-process-terminate:%S" class))))
     (when (and class (functionp func))
       (funcall func))))
 
+(defun pyim-process-ui-hide ()
+  "隐藏 pyim 相关 UI."
+  (run-hooks 'pyim-process-ui-hide-hook))
 
 ;; * Footer
 (provide 'pyim-process)
diff --git a/pyim.el b/pyim.el
index 8924a95a3b..98bdeb9476 100644
--- a/pyim.el
+++ b/pyim.el
@@ -144,7 +144,7 @@ Tip: 用户也可以利用 `pyim-outcome-trigger-function-default' 函数
           overriding-local-map)
       (list key)
     ;; (message "call with key: %S" key-or-string)
-    (run-hooks 'pyim-process-ui-init-hook)
+    (pyim-process-ui-init)
     (with-silent-modifications
       (unwind-protect
           (let ((input-string (pyim-input-method-1 key)))



reply via email to

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