[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/pyim 4eff18a1d5: * pyim-candidates.el (pyim-candidates
From: |
ELPA Syncer |
Subject: |
[elpa] externals/pyim 4eff18a1d5: * pyim-candidates.el (pyim-candidates-create:shuangpin): 支持异步获取词条。 |
Date: |
Sun, 9 Jan 2022 06:57:35 -0500 (EST) |
branch: externals/pyim
commit 4eff18a1d5d2c17b50338948fc95ecb23cc4fcef
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
* pyim-candidates.el (pyim-candidates-create:shuangpin): 支持异步获取词条。
---
pyim-candidates.el | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/pyim-candidates.el b/pyim-candidates.el
index 85e19f2319..bd0b12bb2d 100644
--- a/pyim-candidates.el
+++ b/pyim-candidates.el
@@ -312,9 +312,23 @@ IMOBJS 获得候选词条。"
,@pinyin-chars-2
)))))
-(defun pyim-candidates-create:shuangpin (imobjs _scheme-name &optional async)
+(defun pyim-candidates-create:shuangpin (imobjs scheme-name &optional async)
"`pyim-candidates-create' 处理双拼输入法的函数."
- (pyim-candidates-create:quanpin imobjs 'quanpin async))
+ (if async
+ ;; 构建一个搜索中文的正则表达式, 然后使用这个正则表达式在当前 buffer 中搜
+ ;; 索词条。
+ (let ((str (string-join (pyim-codes-create (car imobjs) scheme-name))))
+ (if (< (length str) 1)
+ pyim-candidates
+ ;; NOTE: 让第一个词保持不变是不是合理,有待进一步的观察。
+ `(,(car pyim-candidates)
+ ,@(pyim-candidates-search-buffer
+ ;; 按照 pyim 的内部设计,这里得到的 str 其实是全拼,所以要按照全
+ ;; 拼的规则来生成 cregexp.
+ (let ((pyim-default-scheme 'quanpin))
+ (pyim-cregexp-build str 3 t)))
+ ,@(cdr pyim-candidates))))
+ (pyim-candidates-create:quanpin imobjs 'quanpin async)))
;; * Footer
(provide 'pyim-candidates)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/pyim 4eff18a1d5: * pyim-candidates.el (pyim-candidates-create:shuangpin): 支持异步获取词条。,
ELPA Syncer <=