[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/pyim 024e96706c: Add pyim-liberime-create-word-at-point
From: |
ELPA Syncer |
Subject: |
[elpa] externals/pyim 024e96706c: Add pyim-liberime-create-word-at-point |
Date: |
Fri, 13 Jan 2023 05:58:17 -0500 (EST) |
branch: externals/pyim
commit 024e96706c262da941bf99128f9e62bcba1fa786
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
Add pyim-liberime-create-word-at-point
---
pyim-liberime.el | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/pyim-liberime.el b/pyim-liberime.el
index 38113355fb..689c55746e 100644
--- a/pyim-liberime.el
+++ b/pyim-liberime.el
@@ -295,6 +295,34 @@ Please see: https://github.com/rime/librime/issues/349"
(setq words nil))
(t (liberime-process-key 65366))))))))))
+(defun pyim-liberime-create-word-at-point (&optional number silent)
+ "将光标前字符数为 NUMBER 的中文字符串添加到 RIME 数据库中。
+当 SILENT 设置为 t 是,不显示提醒信息。
+
+这个命令对多音字处理比较弱,所以有可能在 RIME 数据库中添加一些不
+合理的词条,比如:
+
+ yin-xing -> 银行
+
+这个问题暂时还没有好的方法解决。"
+ (interactive)
+ (when-let* ((rime-quanpin-p
+ (equal (pyim-scheme-name (pyim-scheme-current))
+ 'rime-quanpin))
+ (string (pyim-cstring-at-point (or number 2)))
+ (chars (remove "" (split-string string "")))
+ (codes-list
+ (mapcar (lambda (x)
+ (split-string x "-"))
+ (pyim-cstring-to-pinyin string nil "-" t nil t))))
+ (dolist (codes codes-list)
+ (pyim-liberime--create-word codes chars)
+ (unless silent
+ (message "将词条: %S -> %S 加入 rime 数据库。"
+ (string-join codes "-") string)))))
+
+(advice-add 'pyim-process-create-word-at-point :after
#'pyim-liberime-create-word-at-point)
+
(cl-defmethod pyim-process-terminate-really ((_scheme pyim-scheme-rime))
(cl-call-next-method)
(liberime-clear-commit)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/pyim 024e96706c: Add pyim-liberime-create-word-at-point,
ELPA Syncer <=