This repository has been archived by the owner on May 1, 2023. It is now read-only.
forked from functoreality/rime-flypy-zrmfast
-
Notifications
You must be signed in to change notification settings - Fork 1
/
rime.lua
120 lines (92 loc) · 3.63 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
---@diagnostic disable: lowercase-global
--[[
librime-lua 样例
调用方法:
在配方文件中作如下修改:
```
engine:
...
translators:
...
- lua_translator@lua_function3
- lua_translator@lua_function4
...
filters:
...
- lua_filter@lua_function1
- lua_filter@lua_function2
...
```
其中各 `lua_function` 为在本文件所定义变量名。
--]]
--[[
本文件的后面是若干个例子,按照由简单到复杂的顺序示例了 librime-lua 的用法。
每个例子都被组织在 `lua` 目录下的单独文件中,打开对应文件可看到实现和注解。
各例可使用 `require` 引入。
如:
```
foo = require("bar")
```
可认为是载入 `lua/bar.lua` 中的例子,并起名为 `foo`。
配方文件中的引用方法为:`...@foo`。
--]]
-- I. translators:
-- datetime_translator: 将 `date`, `rq` ,`week`, `oxq`, `time`, `osj`
-- 翻译为当前日期, 星期, 时间
-- date_translator = require("date")
-- time_translator = require("time")
date_time = require("date_time")
datetime_translator = date_time.translator
-- number_translator: 将 `/` + 阿拉伯数字 翻译为大小写汉字
-- 详见 `lua/number.lua`
number_translator = require("number")
tex_translator = require("tex_translator")
-- user_dict = require("user_dict")
-- user_dict_translator = user_dict.translator
-- ---------------------------------------------------------------
-- II. filters:
-- charset_filter: 滤除含 CJK 扩展汉字的候选项
-- charset_comment_filter: 为候选项加上其所属字符集的注释
-- 详见 `lua/charset.lua`
local charset = require("charset")
charset_withEmoji_filter = charset.filter
charset_comment_filter = charset.comment_filter
-- single_char_filter: 候选项重排序,使单字优先
-- 详见 `lua/single_char.lua`
-- single_char_filter = require("single_char")
-- 英文单词支持首字母大写, 全大写等格式
engword_autocaps = require("word_autocaps")
engword_autocaps_filter = engword_autocaps.filter
-- 提升1 个中文长词的位置到第二候选, 加入了对提升词的词频计算
-- 除此之外, 对纯英文单词的长词降频, 对中英混合长词提升1 个
long_word_up = require("long_word_up")
long_word_up_filter = long_word_up.filter
-- 单字和二字词的 全码顶屏(自动上屏)
top_word_autocommit = require("top_word_autocommit")
top_word_autocommit_filter = top_word_autocommit.filter
-- reverse_lookup_filter: 依地球拼音为候选项加上带调拼音的注释
-- 详见 `lua/reverse.lua`
reverse_lookup_filter = require("reverse")
--use wildcard to search code
-- expand_translator = require("expand_translator")
cold_word_drop = require('cold_word_drop')
cold_word_drop_filter = cold_word_drop.filter
-- ---------------------------------------------------------------
-- III. processors:
-- 以词定字, 附加fix在有引导符`[`时, 不能数字键上屏
select_char = require("select_char")
select_char_processor = select_char.processor
-- switch_processor: 通过选择自定义的候选项来切换开关(以简繁切换和下一方案为例)
-- 详见 `lua/switch.lua`
switch_processor = require("switch")
--
cold_word_drop_processor = cold_word_drop.processor
-- 由lua 導入 engine/下的組件 processor segmentor translator filters
-- 生成一個processor 於自己 schema speller 取得 config
-- processor=Component.Processor(env.engine,"","speller")
-- 生成一每translator 由 luna_pinyin.schema:/translator 取得 translator config
--
-- tran = Component.Translator(env.engine,Schema('luna_pinyin'),"","script_translator")
--
-- 配合 test.schema.yaml
--require 'component_test'