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

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

[elpa] externals/pyim 5ef0f64edc 2/4: 让 pyim-preview 依赖 pyim-process.


From: ELPA Syncer
Subject: [elpa] externals/pyim 5ef0f64edc 2/4: 让 pyim-preview 依赖 pyim-process.
Date: Sun, 17 Apr 2022 09:57:48 -0400 (EDT)

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

    让 pyim-preview 依赖 pyim-process.
    
            * pyim-process.el (pyim-preview): Do not require.
            (pyim-process-init-ui): Do not call pyim-preview-setup-overlay.
            (pyim-process-preview-refresh): New function.
            (pyim-process-run-1, pyim-process-run-async): Use above function.
            (pyim-process-preview-hide): New function.
            (pyim-process-terminate): Use above function.
    
            * pyim-preview.el (pyim-process): Require.
            (pyim-process-init-ui): Add pyim-preview-setup-overlay advice.
            (pyim-process-preview-refresh): Add pyim-preview-refresh advice.
            (pyim-process-preview-hide): Add pyim-preview-delete-string advice.
---
 pyim-preview.el |  7 +++++++
 pyim-process.el | 16 ++++++++++------
 pyim.el         |  2 ++
 3 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/pyim-preview.el b/pyim-preview.el
index a702fe9f25..f645dc9d12 100644
--- a/pyim-preview.el
+++ b/pyim-preview.el
@@ -30,6 +30,7 @@
 (require 'cl-lib)
 (require 'pyim-common)
 (require 'pyim-outcome)
+(require 'pyim-process)
 
 (defgroup pyim-preview nil
   "Preview libs for pyim."
@@ -57,6 +58,8 @@
       (if input-method-highlight-flag
           (overlay-put pyim-preview-overlay 'face 'pyim-preview-face)))))
 
+(advice-add 'pyim-process-init-ui :after #'pyim-preview-setup-overlay)
+
 (defun pyim-preview-delete-overlay ()
   "删除 pyim 光标处实时预览功能所需要的 overlay.
 
@@ -95,12 +98,16 @@ pyim 会使用 Emacs overlay 机制在 *待输入buffer* 光标处高亮显示
     (move-overlay pyim-preview-overlay
                   (overlay-start pyim-preview-overlay) (point))))
 
+(advice-add 'pyim-process-preview-refresh :after #'pyim-preview-refresh)
+
 (defun pyim-preview-delete-string ()
   "删除已经插入 buffer 的 preview 预览字符串。"
   (when (overlay-start pyim-preview-overlay)
     (delete-region (overlay-start pyim-preview-overlay)
                    (overlay-end pyim-preview-overlay))))
 
+(advice-add 'pyim-process-preview-hide :after #'pyim-preview-delete-string)
+
 (defun pyim-preview-start-point ()
   "Preview 字符串的开始位置。"
   (overlay-start pyim-preview-overlay))
diff --git a/pyim-process.el b/pyim-process.el
index d72968c5ba..2f6a80929f 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -35,7 +35,6 @@
 (require 'pyim-imobjs)
 (require 'pyim-codes)
 (require 'pyim-candidates)
-(require 'pyim-preview)
 (require 'pyim-indicator)
 (require 'pyim-outcome)
 (require 'pyim-punctuation)
@@ -115,8 +114,7 @@
   (pyim-dcache-call-api 'update-personal-words t))
 
 (defun pyim-process-init-ui ()
-  "PYIM 流程,用户界面相关的初始化工作。"
-  (pyim-preview-setup-overlay))
+  "PYIM 流程,用户界面相关的初始化工作。")
 
 (defun pyim-process-start-daemon ()
   "启动 pyim 流程需要的相关 daemon."
@@ -308,9 +306,12 @@
          (pyim-entered-get 'point-after))
         (pyim-process-terminate))
        (t (setq pyim-candidate-position 1)
-          (pyim-preview-refresh)
+          (pyim-process-preview-refresh)
           (pyim-process-page-refresh))))))
 
+(defun pyim-process-preview-refresh ()
+  "Preview refresh 接口函数。")
+
 (defun pyim-process-page-refresh ()
   "Page refresh 接口函数。")
 
@@ -324,7 +325,7 @@
          (words (delete-dups (pyim-candidates-create pyim-imobjs scheme-name 
t))))
     (when words
       (setq pyim-candidates words)
-      (pyim-preview-refresh)
+      (pyim-process-preview-refresh)
       (pyim-process-page-refresh))))
 
 (defun pyim-process-run-async-timer-reset ()
@@ -612,7 +613,7 @@ BUG:拼音无法有效地处理多音字。"
   (setq pyim-process-force-input-chinese nil)
   (setq pyim-candidates nil)
   (setq pyim-candidates-last nil)
-  (pyim-preview-delete-string)
+  (pyim-process-preview-hide)
   (pyim-process-page-hide)
   (setq pyim-cstring-to-code-criteria nil)
   (pyim-process-run-async-timer-reset)
@@ -621,6 +622,9 @@ BUG:拼音无法有效地处理多音字。"
     (when (and class (functionp func))
       (funcall func))))
 
+(defun pyim-process-preview-hide ()
+  "Preview hide 接口函数.")
+
 (defun pyim-process-page-hide ()
   "Page hide 接口函数.")
 
diff --git a/pyim.el b/pyim.el
index 8783181aa1..e314339763 100644
--- a/pyim.el
+++ b/pyim.el
@@ -38,6 +38,8 @@
 (require 'pyim-common)
 (require 'pyim-scheme)
 (require 'pyim-page)
+(require 'pyim-preview)
+(require 'pyim-indicator)
 (require 'pyim-process)
 (require 'pyim-cstring)
 



reply via email to

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