forked from iDvel/rime-ice
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rime.lua
97 lines (73 loc) · 3.21 KB
/
rime.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
-- Rime Lua 扩展 https://github.com/hchunhui/librime-lua
-- 文档 https://github.com/hchunhui/librime-lua/wiki/Scripting
-- processors:
-- 以词定字,可在 default.yaml → key_binder 下配置快捷键,默认为左右中括号 [ ]
select_character = require("select_character")
-- translators:
-- 日期时间,可在方案中配置触发关键字。
date_translator = require("date_translator")
-- 农历,可在方案中配置触发关键字。
lunar = require("lunar")
-- Unicode,U 开头
unicode = require("unicode")
-- 数字、人民币大写,R 开头
number_translator = require("number_translator")
-- filters:
-- 错音错字提示
-- 关闭此 Lua 时,同时需要关闭 translator/spelling_hints,否则 comment 里都是拼音
corrector = require("corrector")
-- v 模式 symbols 优先(全拼)
v_filter = require("v_filter")
-- 自动大写英文词汇
autocap_filter = require("autocap_filter")
-- 降低部分英语单词在候选项的位置,可在方案中配置要降低的模式和单词
reduce_english_filter = require("reduce_english_filter")
-- 辅码,https://github.com/mirtlecn/rime-radical-pinyin/blob/master/search.lua.md
search = require("search")
-- 置顶候选项
pin_cand_filter = require("pin_cand_filter")
-- 长词优先(全拼)
long_word_filter = require("long_word_filter")
-- 默认未启用:
-- 中英混输词条自动空格
-- 在 engine/filters 增加 - lua_filter@cn_en_spacer
cn_en_spacer = require("cn_en_spacer")
-- 英文词条上屏自动空格
-- 在 engine/filters 增加 - lua_filter@en_spacer
en_spacer = require("en_spacer")
-- 九宫格,将输入框的数字转为对应的拼音或英文,iRime 用,Hamster 不需要。
-- 在 engine/filters 增加 - lua_filter@t9_preedit
t9_preedit = require("t9_preedit")
-- 根据是否在用户词典,在 comment 上加上一个星号 *
-- 在 engine/filters 增加 - lua_filter@is_in_user_dict
-- 在方案里写配置项:
-- is_in_user_dict: true 为输入过的内容加星号
-- is_in_user_dict: false 为未输入过的内容加星号
is_in_user_dict = require("is_in_user_dict")
-- 词条隐藏、降频
-- 在 engine/processors 增加 - lua_processor@cold_word_drop_processor
-- 在 engine/filters 增加 - lua_filter@cold_word_drop_filter
-- 在 key_binder 增加快捷键:
-- turn_down_cand: "Control+j" # 匹配当前输入码后隐藏指定的候选字词 或候选词条放到第四候选位置
-- drop_cand: "Control+d" # 强制删词, 无视输入的编码
-- get_record_filername() 函数中仅支持了 Windows、macOS、Linux
cold_word_drop_processor = require("cold_word_drop.processor")
cold_word_drop_filter = require("cold_word_drop.filter")
-- 暴力 GC
-- 详情 https://github.com/hchunhui/librime-lua/issues/307
-- 这样也不会导致卡顿,那就每次都调用一下吧,内存稳稳的
function force_gc()
-- collectgarbage()
collectgarbage("step")
end
-- 临时用的
function debug_checker(input, env)
for cand in input:iter() do
yield(ShadowCandidate(
cand,
cand.type,
cand.text,
env.engine.context.input .. " - " .. env.engine.context:get_preedit().text .. " - " .. cand.preedit
))
end
end