feat: pin_cand_filter.lua 置顶候选项 #586
This commit is contained in:
parent
d3c47e922d
commit
86ebf99f4f
@ -3,50 +3,29 @@
|
||||
#@/db_name custom_phrase.txt
|
||||
#@/db_type tabledb
|
||||
#
|
||||
# 自定义文本
|
||||
# 适用于全拼。
|
||||
# 双拼默认为 custom_phrase_double.txt 需要手动创建,并更改上面的 db_name 为 custom_phrase_double.txt
|
||||
# 自定义短语
|
||||
# 可为方案增加一些要置顶的词汇及短语,编码可以随便起,不限于拼音,例如邮箱、手机号、常用短语等等。
|
||||
#
|
||||
# 适用于全拼。双拼默认为 custom_phrase_double.txt 需要手动创建,并更改上面的 db_name 为 custom_phrase_double.txt
|
||||
#
|
||||
# 以下固定的词汇及顺序纯属个人偏好,仅作示例,
|
||||
# 可以增加自己的 .txt 文件,并在方案的 custom_phrase/user_dict 指定为自己的文件。
|
||||
#
|
||||
# 以 Tab 分割:汉字<Tab>编码<Tab>权重
|
||||
# 以 Tab 分割:词汇<Tab>编码<Tab>权重
|
||||
#
|
||||
# 这个文件内的字词会占据最高权重(即排在候选项的最前面,因为指定了高权重 custom_phrase/initial_quality: 99)。
|
||||
# 但不与其他翻译器互相造词,如果使用了完整编码,那么这个字或词将无法参与造词,即自造词无法被记住。
|
||||
# 所以建议只固定非完整编码的字词,「的de」应为「的d」,「是shi」应为「是s」,「仙剑xianjian」应为「仙剑xj」。
|
||||
# 也不要写 a e o,因为这三个本身就是完整编码,写了则无法参与造词。
|
||||
# 所以只建议固定非完整拼音的编码,如果需求是置顶指定拼音的候选项,请参考方案中的 pin_cand_filter。
|
||||
#
|
||||
# 最下面的英文是因为一些常用单词的第一候选项被纠错覆盖了,
|
||||
# 比如 Amazon 被纠错为「a ma zong 阿妈粽」,
|
||||
# 期望的 Amazon 跑到第二个候选项了,所以这里给它固定死喽。
|
||||
# 最下面的英文是因为一些常用单词的第一候选项被纠错覆盖了,如 Amazon 被纠错为「a ma zong 阿妈粽」,期望的 Amazon 跑到第二个候选项了,所以这里给它固定死喽。
|
||||
#
|
||||
# version: "2023-11-13"
|
||||
# version: "2024-02-01"
|
||||
#
|
||||
# 此行之后不能写注释
|
||||
|
||||
|
||||
噷 hm
|
||||
哼 hng
|
||||
|
||||
|
||||
去 q 2
|
||||
千 q 1
|
||||
|
||||
我 w 3
|
||||
万 w 2
|
||||
往 w 1
|
||||
|
||||
儿 r
|
||||
|
||||
他 t 4
|
||||
她 t 3
|
||||
它 t 2
|
||||
祂 t 1
|
||||
|
||||
与 y 2
|
||||
于 y 1
|
||||
|
||||
有 u 3
|
||||
又 u 2
|
||||
由 u 1
|
||||
@ -56,122 +35,6 @@
|
||||
已 i 2
|
||||
亦 i 1
|
||||
|
||||
片 p 2
|
||||
篇 p 1
|
||||
|
||||
是 s 4
|
||||
时 s 3
|
||||
使 s 2
|
||||
式 s 1
|
||||
|
||||
的 d 3
|
||||
地 d 2
|
||||
得 d 1
|
||||
|
||||
发 f 2
|
||||
分 f 1
|
||||
|
||||
个 g
|
||||
|
||||
和 h 2
|
||||
或 h 1
|
||||
|
||||
及 j 5
|
||||
将 j 4
|
||||
即 j 3
|
||||
既 j 2
|
||||
继 j 1
|
||||
|
||||
可 k
|
||||
|
||||
了 l 4
|
||||
啦 l 3
|
||||
喽 l 2
|
||||
嘞 l 1
|
||||
|
||||
在 z 3
|
||||
再 z 2
|
||||
自 z 1
|
||||
|
||||
想 x 3
|
||||
像 x 2
|
||||
向 x 1
|
||||
|
||||
才 c 2
|
||||
从 c 1
|
||||
|
||||
吧 b 3
|
||||
百 b 2
|
||||
呗 b 1
|
||||
|
||||
那 n 4
|
||||
哪 n 3
|
||||
拿 n 2
|
||||
呐 n 1
|
||||
|
||||
吗 m 3
|
||||
嘛 m 2
|
||||
呣 m 1
|
||||
|
||||
|
||||
我们 wm
|
||||
我们 wom
|
||||
我们 wmen
|
||||
你们 nm
|
||||
你们 nim
|
||||
你们 nmen
|
||||
人们 rm
|
||||
人们 renm
|
||||
人们 rmen
|
||||
|
||||
|
||||
他的 td 3
|
||||
她的 td 2
|
||||
它的 td 1
|
||||
他的 tad 3
|
||||
她的 tad 2
|
||||
它的 tad 1
|
||||
他的 tde 3
|
||||
她的 tde 2
|
||||
它的 tde 1
|
||||
他们 tm 3
|
||||
她们 tm 2
|
||||
它们 tm 1
|
||||
他们 tam 3
|
||||
她们 tam 2
|
||||
它们 tam 1
|
||||
他们 tmen 3
|
||||
她们 tmen 2
|
||||
它们 tmen 1
|
||||
|
||||
|
||||
那儿 nr 2
|
||||
哪儿 nr 1
|
||||
那儿 nar 2
|
||||
哪儿 nar 1
|
||||
那个 ng 2
|
||||
哪个 ng 1
|
||||
那个 nag 2
|
||||
哪个 nag 1
|
||||
那些 nx 2
|
||||
哪些 nx 1
|
||||
那些 nax 2
|
||||
哪些 nax 1
|
||||
那里 nl 2
|
||||
哪里 nl 1
|
||||
那里 nal 2
|
||||
哪里 nal 1
|
||||
那边 nb 2
|
||||
哪边 nb 1
|
||||
那边 nab 2
|
||||
哪边 nab 1
|
||||
那位 nw 2
|
||||
哪位 nw 1
|
||||
那位 naw 2
|
||||
哪位 naw 1
|
||||
|
||||
|
||||
这 zh
|
||||
一个 ig
|
||||
有个 ug
|
||||
是一个 sig
|
||||
@ -184,35 +47,6 @@
|
||||
又又又 uuu
|
||||
又双叒叕 uuuu
|
||||
|
||||
|
||||
等等 dd
|
||||
的地得 ddd
|
||||
等等等等 dddd
|
||||
刚刚 gg
|
||||
才刚刚 cgg
|
||||
知道 zd
|
||||
不知道 bzd
|
||||
往往 ww
|
||||
哈哈 hh
|
||||
看看 kk
|
||||
常常 cc
|
||||
想想 xx 2
|
||||
想象 xx 1
|
||||
隐约 yy
|
||||
因为 yw
|
||||
什么 sm
|
||||
所以 sy
|
||||
为什么 wsm
|
||||
是不是 sbs
|
||||
没什么 msm
|
||||
有时候 ysh
|
||||
有时候 yshh
|
||||
有时候 yshou
|
||||
什么的 smd
|
||||
什么是 sms
|
||||
什么啊 sma
|
||||
|
||||
|
||||
go go
|
||||
Golang golang
|
||||
Hugo hugo
|
||||
|
@ -87,6 +87,7 @@ engine:
|
||||
- lua_filter@search@radical_pinyin # 部件拆字辅码
|
||||
- lua_filter@autocap_filter # 英文自动大写
|
||||
- lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
|
||||
- lua_filter@pin_cand_filter # 置顶候选项
|
||||
- uniquifier # 去重
|
||||
|
||||
|
||||
@ -148,6 +149,42 @@ reduce_english_filter:
|
||||
yan, yen]
|
||||
|
||||
|
||||
# Lua 配置: 置顶候选项
|
||||
# 符合左边的 cand.preedit 时,按顺序置顶右边的候选项。只是提升已有候选项的顺序,没有自创编码的功能。
|
||||
# (对简繁转换无效,除非简繁文字一致 😰)
|
||||
#
|
||||
# preedit 是经过 translator/preedit_format 处理后的编码,如果是词语则包含空格。
|
||||
# ⚠️ 注意方案的 preedit_format 设定,如果 v 显示为 ü,那么左边也要写 ü
|
||||
# ⚠️ 双拼 ⚠️ 显示为全拼拼写就要写全拼,如 'shuang pin',显示为双拼拼写就要写双拼,如 'ul pb' 😰
|
||||
#
|
||||
# 脚本自动额外生成 preedit 中最后一个空格后面的首字母和 zh ch sh,
|
||||
# 如 'ni hao' 会自动生成 'ni hao'、'ni h'
|
||||
# 如 'bu hao chi' 会自动生成 'bu hao chi'、'bu hao c'、'bu hao ch'
|
||||
# 如果同时写了 da zhuan 和 da zhong,输入 da z 时,排在前面的的优先,除非明确指定 'da z'。
|
||||
pin_cand_filter:
|
||||
# 格式:编码<Tab>字词1<Space>字词2……
|
||||
# 示例:
|
||||
# - 'le 了' # 输入 le 时,置顶「了」
|
||||
# - 'la 啦' # 输入 la 时,置顶「啦」
|
||||
# - 'ta 他 她 它' # 可以置顶多个字,按顺序排列
|
||||
# - 'ta 啊' # ❌ 编码不会产生的字词,不会生效且影响查找效率。自创编码的字词句可以写到 custom_phrase 中。
|
||||
# - 'l 了 啦' # 支持单编码或输入到一半的编码,输入 l 时,置顶「了、啦」
|
||||
# - 's m 什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'w s m 为什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'ni hao 你好 👋 拟好' # 如果 emoji 被分割开了,可以任意调整 emoji 的位置
|
||||
# # 以下两行,会额外生成 'da z' 'da zh' 的置顶,前两个候选项是「大专、大众」,先写的排在前面
|
||||
# - da zhuang 大专
|
||||
# - da zhong 大众
|
||||
# # 如果明确定义了简码形式,则完全使用简码形式
|
||||
# - da z 打字
|
||||
# - da zh 打仗
|
||||
# # ⚠️ 双拼
|
||||
# - 'chong zhuang 重装' # 保留现有的 preedit_format 时可用全拼
|
||||
# - 'is vl 重装' # 清空 preedit_format 时要用双拼拼写(示例为小鹤的)
|
||||
# 如果有任意一个方案的 pin_cand_filter 为空则可能会在方案间串台,don't know why ...
|
||||
- d 的
|
||||
|
||||
|
||||
# 主翻译器,拼音
|
||||
translator:
|
||||
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
|
||||
|
@ -87,6 +87,7 @@ engine:
|
||||
- lua_filter@search@radical_pinyin # 部件拆字辅码
|
||||
- lua_filter@autocap_filter # 英文自动大写
|
||||
- lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
|
||||
- lua_filter@pin_cand_filter # 置顶候选项
|
||||
- uniquifier # 去重
|
||||
|
||||
|
||||
@ -148,6 +149,42 @@ reduce_english_filter:
|
||||
yan, yen]
|
||||
|
||||
|
||||
# Lua 配置: 置顶候选项
|
||||
# 符合左边的 cand.preedit 时,按顺序置顶右边的候选项。只是提升已有候选项的顺序,没有自创编码的功能。
|
||||
# (对简繁转换无效,除非简繁文字一致 😰)
|
||||
#
|
||||
# preedit 是经过 translator/preedit_format 处理后的编码,如果是词语则包含空格。
|
||||
# ⚠️ 注意方案的 preedit_format 设定,如果 v 显示为 ü,那么左边也要写 ü
|
||||
# ⚠️ 双拼 ⚠️ 显示为全拼拼写就要写全拼,如 'shuang pin',显示为双拼拼写就要写双拼,如 'ul pb' 😰
|
||||
#
|
||||
# 脚本自动额外生成 preedit 中最后一个空格后面的首字母和 zh ch sh,
|
||||
# 如 'ni hao' 会自动生成 'ni hao'、'ni h'
|
||||
# 如 'bu hao chi' 会自动生成 'bu hao chi'、'bu hao c'、'bu hao ch'
|
||||
# 如果同时写了 da zhuan 和 da zhong,输入 da z 时,排在前面的的优先,除非明确指定 'da z'。
|
||||
pin_cand_filter:
|
||||
# 格式:编码<Tab>字词1<Space>字词2……
|
||||
# 示例:
|
||||
# - 'le 了' # 输入 le 时,置顶「了」
|
||||
# - 'la 啦' # 输入 la 时,置顶「啦」
|
||||
# - 'ta 他 她 它' # 可以置顶多个字,按顺序排列
|
||||
# - 'ta 啊' # ❌ 编码不会产生的字词,不会生效且影响查找效率。自创编码的字词句可以写到 custom_phrase 中。
|
||||
# - 'l 了 啦' # 支持单编码或输入到一半的编码,输入 l 时,置顶「了、啦」
|
||||
# - 's m 什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'w s m 为什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'ni hao 你好 👋 拟好' # 如果 emoji 被分割开了,可以任意调整 emoji 的位置
|
||||
# # 以下两行,会额外生成 'da z' 'da zh' 的置顶,前两个候选项是「大专、大众」,先写的排在前面
|
||||
# - da zhuang 大专
|
||||
# - da zhong 大众
|
||||
# # 如果明确定义了简码形式,则完全使用简码形式
|
||||
# - da z 打字
|
||||
# - da zh 打仗
|
||||
# # ⚠️ 双拼
|
||||
# - 'chong zhuang 重装' # 保留现有的 preedit_format 时可用全拼
|
||||
# - 'is vl 重装' # 清空 preedit_format 时要用双拼拼写(示例为小鹤的)
|
||||
# 如果有任意一个方案的 pin_cand_filter 为空则可能会在方案间串台,don't know why ...
|
||||
- d 的
|
||||
|
||||
|
||||
# 主翻译器,拼音
|
||||
translator:
|
||||
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
|
||||
|
@ -87,6 +87,7 @@ engine:
|
||||
- lua_filter@search@radical_pinyin # 部件拆字辅码
|
||||
- lua_filter@autocap_filter # 英文自动大写
|
||||
- lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
|
||||
- lua_filter@pin_cand_filter # 置顶候选项
|
||||
- uniquifier # 去重
|
||||
|
||||
|
||||
@ -148,6 +149,42 @@ reduce_english_filter:
|
||||
yan, yen]
|
||||
|
||||
|
||||
# Lua 配置: 置顶候选项
|
||||
# 符合左边的 cand.preedit 时,按顺序置顶右边的候选项。只是提升已有候选项的顺序,没有自创编码的功能。
|
||||
# (对简繁转换无效,除非简繁文字一致 😰)
|
||||
#
|
||||
# preedit 是经过 translator/preedit_format 处理后的编码,如果是词语则包含空格。
|
||||
# ⚠️ 注意方案的 preedit_format 设定,如果 v 显示为 ü,那么左边也要写 ü
|
||||
# ⚠️ 双拼 ⚠️ 显示为全拼拼写就要写全拼,如 'shuang pin',显示为双拼拼写就要写双拼,如 'ul pb' 😰
|
||||
#
|
||||
# 脚本自动额外生成 preedit 中最后一个空格后面的首字母和 zh ch sh,
|
||||
# 如 'ni hao' 会自动生成 'ni hao'、'ni h'
|
||||
# 如 'bu hao chi' 会自动生成 'bu hao chi'、'bu hao c'、'bu hao ch'
|
||||
# 如果同时写了 da zhuan 和 da zhong,输入 da z 时,排在前面的的优先,除非明确指定 'da z'。
|
||||
pin_cand_filter:
|
||||
# 格式:编码<Tab>字词1<Space>字词2……
|
||||
# 示例:
|
||||
# - 'le 了' # 输入 le 时,置顶「了」
|
||||
# - 'la 啦' # 输入 la 时,置顶「啦」
|
||||
# - 'ta 他 她 它' # 可以置顶多个字,按顺序排列
|
||||
# - 'ta 啊' # ❌ 编码不会产生的字词,不会生效且影响查找效率。自创编码的字词句可以写到 custom_phrase 中。
|
||||
# - 'l 了 啦' # 支持单编码或输入到一半的编码,输入 l 时,置顶「了、啦」
|
||||
# - 's m 什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'w s m 为什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'ni hao 你好 👋 拟好' # 如果 emoji 被分割开了,可以任意调整 emoji 的位置
|
||||
# # 以下两行,会额外生成 'da z' 'da zh' 的置顶,前两个候选项是「大专、大众」,先写的排在前面
|
||||
# - da zhuang 大专
|
||||
# - da zhong 大众
|
||||
# # 如果明确定义了简码形式,则完全使用简码形式
|
||||
# - da z 打字
|
||||
# - da zh 打仗
|
||||
# # ⚠️ 双拼
|
||||
# - 'chong zhuang 重装' # 保留现有的 preedit_format 时可用全拼
|
||||
# - 'is vl 重装' # 清空 preedit_format 时要用双拼拼写(示例为小鹤的)
|
||||
# 如果有任意一个方案的 pin_cand_filter 为空则可能会在方案间串台,don't know why ...
|
||||
- d 的
|
||||
|
||||
|
||||
# 主翻译器,拼音
|
||||
translator:
|
||||
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
|
||||
|
@ -87,6 +87,7 @@ engine:
|
||||
- lua_filter@search@radical_pinyin # 部件拆字辅码
|
||||
- lua_filter@autocap_filter # 英文自动大写
|
||||
- lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
|
||||
- lua_filter@pin_cand_filter # 置顶候选项
|
||||
- uniquifier # 去重
|
||||
|
||||
|
||||
@ -148,6 +149,42 @@ reduce_english_filter:
|
||||
yan, yen]
|
||||
|
||||
|
||||
# Lua 配置: 置顶候选项
|
||||
# 符合左边的 cand.preedit 时,按顺序置顶右边的候选项。只是提升已有候选项的顺序,没有自创编码的功能。
|
||||
# (对简繁转换无效,除非简繁文字一致 😰)
|
||||
#
|
||||
# preedit 是经过 translator/preedit_format 处理后的编码,如果是词语则包含空格。
|
||||
# ⚠️ 注意方案的 preedit_format 设定,如果 v 显示为 ü,那么左边也要写 ü
|
||||
# ⚠️ 双拼 ⚠️ 显示为全拼拼写就要写全拼,如 'shuang pin',显示为双拼拼写就要写双拼,如 'ul pb' 😰
|
||||
#
|
||||
# 脚本自动额外生成 preedit 中最后一个空格后面的首字母和 zh ch sh,
|
||||
# 如 'ni hao' 会自动生成 'ni hao'、'ni h'
|
||||
# 如 'bu hao chi' 会自动生成 'bu hao chi'、'bu hao c'、'bu hao ch'
|
||||
# 如果同时写了 da zhuan 和 da zhong,输入 da z 时,排在前面的的优先,除非明确指定 'da z'。
|
||||
pin_cand_filter:
|
||||
# 格式:编码<Tab>字词1<Space>字词2……
|
||||
# 示例:
|
||||
# - 'le 了' # 输入 le 时,置顶「了」
|
||||
# - 'la 啦' # 输入 la 时,置顶「啦」
|
||||
# - 'ta 他 她 它' # 可以置顶多个字,按顺序排列
|
||||
# - 'ta 啊' # ❌ 编码不会产生的字词,不会生效且影响查找效率。自创编码的字词句可以写到 custom_phrase 中。
|
||||
# - 'l 了 啦' # 支持单编码或输入到一半的编码,输入 l 时,置顶「了、啦」
|
||||
# - 's m 什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'w s m 为什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'ni hao 你好 👋 拟好' # 如果 emoji 被分割开了,可以任意调整 emoji 的位置
|
||||
# # 以下两行,会额外生成 'da z' 'da zh' 的置顶,前两个候选项是「大专、大众」,先写的排在前面
|
||||
# - da zhuang 大专
|
||||
# - da zhong 大众
|
||||
# # 如果明确定义了简码形式,则完全使用简码形式
|
||||
# - da z 打字
|
||||
# - da zh 打仗
|
||||
# # ⚠️ 双拼
|
||||
# - 'chong zhuang 重装' # 保留现有的 preedit_format 时可用全拼
|
||||
# - 'is vl 重装' # 清空 preedit_format 时要用双拼拼写(示例为小鹤的)
|
||||
# 如果有任意一个方案的 pin_cand_filter 为空则可能会在方案间串台,don't know why ...
|
||||
- d 的
|
||||
|
||||
|
||||
# 主翻译器,拼音
|
||||
translator:
|
||||
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
|
||||
|
@ -87,6 +87,7 @@ engine:
|
||||
- lua_filter@search@radical_pinyin # 部件拆字辅码
|
||||
- lua_filter@autocap_filter # 英文自动大写
|
||||
- lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
|
||||
- lua_filter@pin_cand_filter # 置顶候选项
|
||||
- uniquifier # 去重
|
||||
|
||||
|
||||
@ -148,6 +149,42 @@ reduce_english_filter:
|
||||
yan, yen]
|
||||
|
||||
|
||||
# Lua 配置: 置顶候选项
|
||||
# 符合左边的 cand.preedit 时,按顺序置顶右边的候选项。只是提升已有候选项的顺序,没有自创编码的功能。
|
||||
# (对简繁转换无效,除非简繁文字一致 😰)
|
||||
#
|
||||
# preedit 是经过 translator/preedit_format 处理后的编码,如果是词语则包含空格。
|
||||
# ⚠️ 注意方案的 preedit_format 设定,如果 v 显示为 ü,那么左边也要写 ü
|
||||
# ⚠️ 双拼 ⚠️ 显示为全拼拼写就要写全拼,如 'shuang pin',显示为双拼拼写就要写双拼,如 'ul pb' 😰
|
||||
#
|
||||
# 脚本自动额外生成 preedit 中最后一个空格后面的首字母和 zh ch sh,
|
||||
# 如 'ni hao' 会自动生成 'ni hao'、'ni h'
|
||||
# 如 'bu hao chi' 会自动生成 'bu hao chi'、'bu hao c'、'bu hao ch'
|
||||
# 如果同时写了 da zhuan 和 da zhong,输入 da z 时,排在前面的的优先,除非明确指定 'da z'。
|
||||
pin_cand_filter:
|
||||
# 格式:编码<Tab>字词1<Space>字词2……
|
||||
# 示例:
|
||||
# - 'le 了' # 输入 le 时,置顶「了」
|
||||
# - 'la 啦' # 输入 la 时,置顶「啦」
|
||||
# - 'ta 他 她 它' # 可以置顶多个字,按顺序排列
|
||||
# - 'ta 啊' # ❌ 编码不会产生的字词,不会生效且影响查找效率。自创编码的字词句可以写到 custom_phrase 中。
|
||||
# - 'l 了 啦' # 支持单编码或输入到一半的编码,输入 l 时,置顶「了、啦」
|
||||
# - 's m 什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'w s m 为什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'ni hao 你好 👋 拟好' # 如果 emoji 被分割开了,可以任意调整 emoji 的位置
|
||||
# # 以下两行,会额外生成 'da z' 'da zh' 的置顶,前两个候选项是「大专、大众」,先写的排在前面
|
||||
# - da zhuang 大专
|
||||
# - da zhong 大众
|
||||
# # 如果明确定义了简码形式,则完全使用简码形式
|
||||
# - da z 打字
|
||||
# - da zh 打仗
|
||||
# # ⚠️ 双拼
|
||||
# - 'chong zhuang 重装' # 保留现有的 preedit_format 时可用全拼
|
||||
# - 'is vl 重装' # 清空 preedit_format 时要用双拼拼写(示例为小鹤的)
|
||||
# 如果有任意一个方案的 pin_cand_filter 为空则可能会在方案间串台,don't know why ...
|
||||
- d 的
|
||||
|
||||
|
||||
# 主翻译器,拼音
|
||||
translator:
|
||||
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
|
||||
|
@ -87,6 +87,7 @@ engine:
|
||||
- lua_filter@search@radical_pinyin # 部件拆字辅码
|
||||
- lua_filter@autocap_filter # 英文自动大写
|
||||
- lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
|
||||
- lua_filter@pin_cand_filter # 置顶候选项
|
||||
- uniquifier # 去重
|
||||
|
||||
|
||||
@ -148,6 +149,42 @@ reduce_english_filter:
|
||||
yan, yen]
|
||||
|
||||
|
||||
# Lua 配置: 置顶候选项
|
||||
# 符合左边的 cand.preedit 时,按顺序置顶右边的候选项。只是提升已有候选项的顺序,没有自创编码的功能。
|
||||
# (对简繁转换无效,除非简繁文字一致 😰)
|
||||
#
|
||||
# preedit 是经过 translator/preedit_format 处理后的编码,如果是词语则包含空格。
|
||||
# ⚠️ 注意方案的 preedit_format 设定,如果 v 显示为 ü,那么左边也要写 ü
|
||||
# ⚠️ 双拼 ⚠️ 显示为全拼拼写就要写全拼,如 'shuang pin',显示为双拼拼写就要写双拼,如 'ul pb' 😰
|
||||
#
|
||||
# 脚本自动额外生成 preedit 中最后一个空格后面的首字母和 zh ch sh,
|
||||
# 如 'ni hao' 会自动生成 'ni hao'、'ni h'
|
||||
# 如 'bu hao chi' 会自动生成 'bu hao chi'、'bu hao c'、'bu hao ch'
|
||||
# 如果同时写了 da zhuan 和 da zhong,输入 da z 时,排在前面的的优先,除非明确指定 'da z'。
|
||||
pin_cand_filter:
|
||||
# 格式:编码<Tab>字词1<Space>字词2……
|
||||
# 示例:
|
||||
# - 'le 了' # 输入 le 时,置顶「了」
|
||||
# - 'la 啦' # 输入 la 时,置顶「啦」
|
||||
# - 'ta 他 她 它' # 可以置顶多个字,按顺序排列
|
||||
# - 'ta 啊' # ❌ 编码不会产生的字词,不会生效且影响查找效率。自创编码的字词句可以写到 custom_phrase 中。
|
||||
# - 'l 了 啦' # 支持单编码或输入到一半的编码,输入 l 时,置顶「了、啦」
|
||||
# - 's m 什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'w s m 为什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'ni hao 你好 👋 拟好' # 如果 emoji 被分割开了,可以任意调整 emoji 的位置
|
||||
# # 以下两行,会额外生成 'da z' 'da zh' 的置顶,前两个候选项是「大专、大众」,先写的排在前面
|
||||
# - da zhuang 大专
|
||||
# - da zhong 大众
|
||||
# # 如果明确定义了简码形式,则完全使用简码形式
|
||||
# - da z 打字
|
||||
# - da zh 打仗
|
||||
# # ⚠️ 双拼
|
||||
# - 'chong zhuang 重装' # 保留现有的 preedit_format 时可用全拼
|
||||
# - 'is vl 重装' # 清空 preedit_format 时要用双拼拼写(示例为小鹤的)
|
||||
# 如果有任意一个方案的 pin_cand_filter 为空则可能会在方案间串台,don't know why ...
|
||||
- d 的
|
||||
|
||||
|
||||
# 主翻译器,拼音
|
||||
translator:
|
||||
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
|
||||
|
@ -1,4 +1,5 @@
|
||||
-- 置顶候选项
|
||||
-- Powered By ChatGPT
|
||||
|
||||
local function isInList(list, str)
|
||||
for i, v in ipairs(list) do
|
||||
@ -12,39 +13,105 @@ end
|
||||
local M = {}
|
||||
|
||||
function M.init(env)
|
||||
local config = env.engine.schema.config
|
||||
env.name_space = env.name_space:gsub("^*", "")
|
||||
local list = env.engine.schema.config:get_list(env.name_space)
|
||||
|
||||
-- 如果定义了 'da zhuan' 或 'da zhong' ,会自动生成 'da z' 和 'da zh'。
|
||||
-- 然而,如果明确定义了 'da z' 或 'da zh',则会优先使用这些明确自定义的简码,用 set 来做判断。
|
||||
local set = {}
|
||||
for i = 0, list.size - 1 do
|
||||
local preedit, texts = list:get_value_at(i).value:match("([^\t]+)\t(.+)")
|
||||
if preedit and texts then
|
||||
set[preedit] = true
|
||||
end
|
||||
end
|
||||
|
||||
-- 遍历要置顶的候选项列表,将其转换为 table 存储到 M.pin_cands
|
||||
-- 'ta 他 她 它' → M.pin_cands["ta"] = {"他", "她", "它"},
|
||||
-- 'l 了 啦' → M.pin_cands["l"] = {"了", "啦"}
|
||||
-- 'ta 他 她 它' → M.pin_cands["ta"] = {"他", "她", "它"}
|
||||
--
|
||||
-- 对于词汇(preedit 包含空格),同时生成简码的拼写(最后一个空格后的首字母),如:
|
||||
-- 'ni hao 你好 拟好' → M.pin_cands["ni hao"] = {"你好", "拟好"}
|
||||
local list = config:get_list(env.name_space)
|
||||
-- → M.pin_cands["ni h"] = {"你好", "拟好"}
|
||||
--
|
||||
-- 如果最后一个空格后以 zh ch sh 开头,额外再生成 zh, ch, sh 的拼写,如:
|
||||
-- 'zhi chi 支持' → M.pin_cands["zhi chi"] = {"支持"}
|
||||
-- → M.pin_cands["zhi c"] = {"支持"}
|
||||
-- → M.pin_cands["zhi ch"] = {"支持"}
|
||||
--
|
||||
-- 如果同时定义了 'da zhuan 大专' 'da zhong 大众',会生成:
|
||||
-- M.pin_cands["da zhuan"] = {"大专"}
|
||||
-- M.pin_cands["da zhong"] = {"大众"}
|
||||
-- M.pin_cands["da z"] = {"大专", "大众"} -- 先写的排在前面
|
||||
-- M.pin_cands["da zh"] = {"大专", "大众"} -- 先写的排在前面
|
||||
--
|
||||
-- 如果同时定义了 'da zhuan 大专' 'da zhong 大众' 且明确定义了简码形式 'da z 打字',会生成:
|
||||
-- M.pin_cands["da zhuan"] = {"大专"}
|
||||
-- M.pin_cands["da zhong"] = {"大众"}
|
||||
-- M.pin_cands["da z"] = {"打字"} -- 明确定义的优先级更高
|
||||
-- M.pin_cands["da zh"] = {"大专", "大众"} -- 没明确定义的,仍然按上面的方式生成
|
||||
|
||||
M.pin_cands = {}
|
||||
for i = 0, list.size - 1 do
|
||||
local code, texts = list:get_value_at(i).value:match("([^\t]+)\t(.+)")
|
||||
if code and texts then
|
||||
M.pin_cands[code] = {}
|
||||
local preedit, texts = list:get_value_at(i).value:match("([^\t]+)\t(.+)")
|
||||
if preedit and texts then
|
||||
M.pin_cands[preedit] = {}
|
||||
-- 按照配置生成完整的拼写
|
||||
for text in texts:gmatch("%S+") do
|
||||
table.insert(M.pin_cands[code], text)
|
||||
table.insert(M.pin_cands[preedit], text)
|
||||
end
|
||||
-- 额外处理包含空格的 preedit,增加最后一个拼音的首字母和 zh, ch, sh 的简码
|
||||
if preedit:find(" ") then
|
||||
local preceding_part, last_part = preedit:match("^(.+)%s(%S+)$")
|
||||
if last_part then
|
||||
-- 生成最后一个拼音的简码拼写(最后一个空格后的首字母),如 ni hao 生成 ni h
|
||||
local p1 = preceding_part .. " " .. last_part:sub(1, 1)
|
||||
-- 只在没有明确定义此简码时才生成,已有的追加,没有的直接赋值
|
||||
if not set[p1] then
|
||||
if M.pin_cands[p1] ~= nil then
|
||||
for text in texts:gmatch("%S+") do
|
||||
table.insert(M.pin_cands[p1], text)
|
||||
end
|
||||
else
|
||||
M.pin_cands[p1] = M.pin_cands[preedit]
|
||||
end
|
||||
end
|
||||
-- 生成最后一个拼音的 zh, ch, sh 的简码拼写(最后一个空格后以 zh ch sh 开头),如 zhi chi 生成 zhi ch
|
||||
-- if last_part:match("^(zh|ch|sh)") then -- 😰 ChatGPT 诚欺我
|
||||
if last_part:match("^zh") or last_part:match("^ch") or last_part:match("^sh") then
|
||||
local p2 = preceding_part .. " " .. last_part:sub(1, 2)
|
||||
-- 只在没有明确定义此简码时才生成,已有的追加,没有的直接赋值
|
||||
if not set[p2] then
|
||||
if M.pin_cands[p2] ~= nil then
|
||||
for text in texts:gmatch("%S+") do
|
||||
table.insert(M.pin_cands[p2], text)
|
||||
end
|
||||
else
|
||||
M.pin_cands[p2] = M.pin_cands[preedit]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function M.func(input)
|
||||
local pined = {}
|
||||
local others = {}
|
||||
local pined = {} -- 提升的候选项
|
||||
local others = {} -- 其余候选项
|
||||
local pined_count = 0
|
||||
for cand in input:iter() do
|
||||
local pins = M.pin_cands[cand.preedit]
|
||||
if pins then
|
||||
-- 给 pined 几个空字符串占位元素,后面直接 pined[idx] = cand 确保 pined 与 pins 顺序一致
|
||||
if #pined < #pins then
|
||||
for _ = 1, #pins do
|
||||
local texts = M.pin_cands[cand.preedit]
|
||||
if texts then
|
||||
-- 给 pined 几个空字符串占位元素,后面直接 pined[idx] = cand 确保 pined 与 texts 顺序一致
|
||||
if #pined < #texts then
|
||||
for _ = 1, #texts do
|
||||
table.insert(pined, '')
|
||||
end
|
||||
end
|
||||
-- 要置顶的放到 pined 中,其余的放到 others
|
||||
local ok, idx = isInList(pins, cand.text)
|
||||
local ok, idx = isInList(texts, cand.text)
|
||||
if ok then
|
||||
pined[idx] = cand
|
||||
pined_count = pined_count + 1
|
||||
@ -52,7 +119,7 @@ function M.func(input)
|
||||
table.insert(others, cand)
|
||||
end
|
||||
-- 找齐了或者 others 太大了,就不找了,一般前 5 个就找完了
|
||||
if pined_count == #pins or #others > 50 then
|
||||
if pined_count == #texts or #others > 50 then
|
||||
break
|
||||
end
|
||||
else
|
||||
|
@ -4,6 +4,10 @@
|
||||
|
||||
|
||||
|
||||
## 2024-02-01 🆕
|
||||
|
||||
🆕 `pin_cand_filter.lua` 置顶候选项 [#586](https://github.com/iDvel/rime-ice/issues/586)
|
||||
|
||||
## 2024-01-29 🆕 ⚠️
|
||||
|
||||
🆕 [部件拆字方案](https://github.com/mirtlecn/rime-radical-pinyin) 反查、辅码 ([#643](https://github.com/iDvel/rime-ice/pull/643))
|
||||
|
14
rime.lua
14
rime.lua
@ -41,19 +41,11 @@ reduce_english_filter = require("reduce_english_filter")
|
||||
-- 辅码,https://github.com/mirtlecn/rime-radical-pinyin/blob/master/search.lua.md
|
||||
search = require("search")
|
||||
|
||||
-- 默认未启用:
|
||||
|
||||
-- 词条置顶
|
||||
-- 满足左边的 cand.preedit 时,将右边的 cand 按顺序置顶。
|
||||
-- 在 engine/filters 增加 - lua_filter@pin_cand_filter
|
||||
-- 在方案里写配置项:
|
||||
-- pin_cand_filter:
|
||||
-- - "l 了"
|
||||
-- - "le 了"
|
||||
-- - "ta 他 她 它"
|
||||
-- - "ni hao 你好 拟好"
|
||||
-- 置顶候选项
|
||||
pin_cand_filter = require("pin_cand_filter")
|
||||
|
||||
-- 默认未启用:
|
||||
|
||||
-- 长词优先(全拼)
|
||||
-- 在 engine/filters 增加 - lua_filter@long_word_filter
|
||||
-- 在方案里写配置项:
|
||||
|
@ -6,7 +6,7 @@
|
||||
schema:
|
||||
schema_id: rime_ice
|
||||
name: 雾凇拼音
|
||||
version: "2024-01-30"
|
||||
version: "2024-02-01"
|
||||
author:
|
||||
- Dvel
|
||||
description: |
|
||||
@ -76,6 +76,7 @@ engine:
|
||||
- lua_filter@v_filter # v 模式 symbols 优先(否则是英文优先)
|
||||
- lua_filter@autocap_filter # 英文自动大写
|
||||
- lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
|
||||
- lua_filter@pin_cand_filter # 置顶候选项
|
||||
- uniquifier # 去重
|
||||
|
||||
|
||||
@ -137,6 +138,131 @@ reduce_english_filter:
|
||||
yan, yen]
|
||||
|
||||
|
||||
# Lua 配置: 置顶候选项
|
||||
# 符合左边的 cand.preedit 时,按顺序置顶右边的候选项。只是提升已有候选项的顺序,没有自创编码的功能。
|
||||
# (对简繁转换无效,除非简繁文字一致 😰)
|
||||
#
|
||||
# preedit 是经过 translator/preedit_format 处理后的编码,如果是词语则包含空格。
|
||||
# ⚠️ 注意方案的 preedit_format 设定,如果 v 显示为 ü,那么左边也要写 ü
|
||||
# ⚠️ 双拼 ⚠️ 显示为全拼拼写就要写全拼,如 'shuang pin',显示为双拼拼写就要写双拼,如 'ul pb' 😰
|
||||
#
|
||||
# 脚本自动额外生成 preedit 中最后一个空格后面的首字母和 zh ch sh,
|
||||
# 如 'ni hao' 会自动生成 'ni hao'、'ni h'
|
||||
# 如 'bu hao chi' 会自动生成 'bu hao chi'、'bu hao c'、'bu hao ch'
|
||||
# 如果同时写了 da zhuan 和 da zhong,输入 da z 时,排在前面的的优先,除非明确指定 'da z'。
|
||||
pin_cand_filter:
|
||||
# 格式:编码<Tab>字词1<Space>字词2……
|
||||
# 示例:
|
||||
# - 'le 了' # 输入 le 时,置顶「了」
|
||||
# - 'la 啦' # 输入 la 时,置顶「啦」
|
||||
# - 'ta 他 她 它' # 可以置顶多个字,按顺序排列
|
||||
# - 'ta 啊' # ❌ 编码不会产生的字词,不会生效且影响查找效率。自创编码的字词句可以写到 custom_phrase 中。
|
||||
# - 'l 了 啦' # 支持单编码或输入到一半的编码,输入 l 时,置顶「了、啦」
|
||||
# - 's m 什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'w s m 为什么' # 支持简拼,要和输入框的行为一致,有空格加空格
|
||||
# - 'ni hao 你好 👋 拟好' # 如果 emoji 被分割开了,可以任意调整 emoji 的位置
|
||||
# # 以下两行,会额外生成 'da z' 'da zh' 的置顶,前两个候选项是「大专、大众」,先写的排在前面
|
||||
# - da zhuang 大专
|
||||
# - da zhong 大众
|
||||
# # 如果明确定义了简码形式,则完全使用简码形式
|
||||
# - da z 打字
|
||||
# - da zh 打仗
|
||||
#
|
||||
# ⚙️ 以下是个人习惯,仅供参考,可以打个补丁来覆盖。
|
||||
# 单编码
|
||||
- q 去 千
|
||||
- w 我 万 往
|
||||
- e 呃
|
||||
- r 让 人
|
||||
- t 他 她 它 祂
|
||||
- y 与 于
|
||||
# - u 在 custom_phrase 置顶
|
||||
# - i 在 custom_phrase 置顶
|
||||
- o 哦
|
||||
- p 片 篇
|
||||
- a 啊
|
||||
- s 是 时 使 式
|
||||
- d 的 地 得
|
||||
- f 发 放 分
|
||||
- g 个 各
|
||||
- h 和 或
|
||||
- j 及 将 即 既 继
|
||||
- k 可
|
||||
- l 了 啦 喽 嘞
|
||||
- z 在 再 自
|
||||
- x 想 像 向
|
||||
- c 才 从
|
||||
# - v
|
||||
- b 吧 把 呗 百
|
||||
- n 那 哪 拿 呐
|
||||
- m 吗 嘛 呣
|
||||
# 单字
|
||||
- de 的 地 得
|
||||
- na 那 哪 拿
|
||||
- ta 他 她 它 祂
|
||||
- er 而 儿 二
|
||||
- ma 吗 嘛 妈
|
||||
- zhe 这 着
|
||||
- hai 还
|
||||
- you 有 🈶 又 由
|
||||
- mei 没
|
||||
- bing 并
|
||||
- tong 同
|
||||
- yu 与 于
|
||||
- he 和
|
||||
- ji 及 即 既
|
||||
- shi 是 时
|
||||
- la 啦 拉
|
||||
- xing 行
|
||||
- dian 点
|
||||
- yao 要
|
||||
- kan 看
|
||||
- bei 被
|
||||
- zuo 做
|
||||
- dao 到 倒
|
||||
- xiang 想 像 向
|
||||
- zhi 只
|
||||
- cai 才
|
||||
- gang 刚
|
||||
- jiu 就
|
||||
# ta、na
|
||||
- ta de 他的 她的 它的
|
||||
- 'tad 他的 她的 它的' # 英文单词 tad 造成 preedit 为 tad,从而让 ta d 的置顶未生效,需要明确再写上 tad
|
||||
- ta men 他们 她们 它们
|
||||
- ta men de 他们的 她们的 它们的
|
||||
- na er 那儿 哪儿
|
||||
- na ge 那个 哪个
|
||||
- na xie 那些 哪些
|
||||
- na li 那里 哪里
|
||||
- na bian 那边 哪边
|
||||
- na bian er 那边儿 哪边儿
|
||||
- na wei 那位 哪位
|
||||
# 简码
|
||||
- zh 这
|
||||
- d d 等等
|
||||
- 'dd 等等' # 覆盖英文单词 D&D
|
||||
- d d d d 等等等等
|
||||
- g g 刚刚
|
||||
- c g g 才刚刚
|
||||
- z d 知道
|
||||
- b z d 不知道
|
||||
- w w 往往
|
||||
- h h 哈哈
|
||||
- k k 看看
|
||||
- c c 常常
|
||||
- x x 想想 🤔 想象
|
||||
- y w 因为
|
||||
- s m 什么
|
||||
- w s m 为什么
|
||||
- s b s 是不是
|
||||
- m s m 没什么
|
||||
- s m d 什么的
|
||||
- s m s 什么是
|
||||
- 'sms 什么是' # 覆盖英文单词 SMS
|
||||
- s m a 什么啊
|
||||
- 'sma 什么啊' # 覆盖英文单词 S码
|
||||
|
||||
|
||||
# 主翻译器,拼音
|
||||
translator:
|
||||
dictionary: rime_ice # 挂载词库 rime_ice.dict.yaml
|
||||
|
Loading…
x
Reference in New Issue
Block a user