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

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

[elpa] externals/pyim 6d8190ca20: Add pyim-page--code-hint-of-default-sc


From: ELPA Syncer
Subject: [elpa] externals/pyim 6d8190ca20: Add pyim-page--code-hint-of-default-scheme
Date: Wed, 6 Jul 2022 00:58:01 -0400 (EDT)

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

    Add pyim-page--code-hint-of-default-scheme
---
 pyim-page.el   | 21 +++++++++++++++++++--
 pyim-scheme.el |  2 +-
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/pyim-page.el b/pyim-page.el
index bf4040baeb..3f46cb3d29 100644
--- a/pyim-page.el
+++ b/pyim-page.el
@@ -182,7 +182,7 @@ page 的概念,比如,上面的 “nihao” 的 *待选词列表* 就可以
                 :candidates candidates-showed
                 :position position
                 :hightlight-current hightlight-current
-                :assistant-enable (pyim-scheme-assistant-status))))
+                :assistant-enable (pyim-scheme-assistant-enable-p))))
     ;; Show page.
     (when (and (null unread-command-events)
                (null unread-post-input-method-events))
@@ -500,7 +500,24 @@ pyim-page 的核心的功能,为此增加代码的复杂度和测试的难度
        (if (equal 1 (point))
            (concat "|" translated)
          (concat (replace-regexp-in-string (concat separator "'") "'" 
translated)
-                 " |" (buffer-substring-no-properties (point) 
(point-max))))))))
+                 " |" (buffer-substring-no-properties (point) (point-max)))))
+     ;; 使用辅助输入法时,在 page 中提示默认输入法的 code, 这个功能对形码用户挺
+     ;; 有用。
+     (pyim-page--code-hint-of-default-scheme))))
+
+(defun pyim-page--code-hint-of-default-scheme ()
+  "获取当前词条在默认输入法下的 code 提示."
+  (when (pyim-scheme-assistant-enable-p)
+    (let* ((word (nth (pyim-process-word-position)
+                      (pyim-process-get-candidates)))
+           (codes (sort (pyim-cstring-to-codes
+                         word (pyim-scheme-get pyim-default-scheme))
+                        (lambda (a b)
+                          (< (length a) (length b)))))
+           (hint (string-join codes " ")))
+      (if (> (length hint) 0)
+          (format " [%s]" hint)
+        " "))))
 
 (cl-defmethod pyim-page-preview-create ((scheme pyim-scheme-shuangpin) 
&optional separator)
   (let ((keymaps (pyim-scheme-shuangpin-keymaps scheme))
diff --git a/pyim-scheme.el b/pyim-scheme.el
index 606f9fcc6c..8bba47c078 100644
--- a/pyim-scheme.el
+++ b/pyim-scheme.el
@@ -162,7 +162,7 @@
 (defun pyim-scheme-get-all-schemes ()
   pyim-scheme--all-schemes)
 
-(defun pyim-scheme-assistant-status ()
+(defun pyim-scheme-assistant-enable-p ()
   pyim-scheme--enable-assistant-p)
 
 (defun pyim-scheme-enable-assistant ()



reply via email to

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