diff --git a/README.md b/README.md
index cc5c63467..2cdba55b0 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,7 @@
- 所有标点符号直接上屏
- 特殊符号、字符输入(全拼v+首字母缩写;双拼V+首字母缩写)
- 拼音纠错(模糊音)
- - 更多默认未启用的功能请参考 `rime.lua` 文件以及方案注释
+ - 更多默认未启用的功能请参考 `lua/` 及方案注释
- 简体字表、词库
- [通用规范汉字表](https://github.com/iDvel/The-Table-of-General-Standard-Chinese-Characters)(by 中华人民共和国教育部)8K 常用汉字
- [Unihan 字库](https://www.unicode.org/Public/)(by Unicode lnc | [UNICODE LICENSE V3](https://www.unicode.org/license.txt))40K 大字库, **默认未启用**
diff --git a/double_pinyin.schema.yaml b/double_pinyin.schema.yaml
index 004af59c4..0bd04539e 100644
--- a/double_pinyin.schema.yaml
+++ b/double_pinyin.schema.yaml
@@ -52,7 +52,7 @@ switches:
# 输入引擎
engine:
processors:
- - lua_processor@select_character # 以词定字
+ - lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
@@ -71,25 +71,25 @@ engine:
translators:
- punct_translator
- script_translator
- - lua_translator@date_translator # 时间、日期、星期
- - lua_translator@lunar # 农历
- - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- - table_translator@melt_eng # 英文输入
- - table_translator@cn_en # 中英混合词汇
- - table_translator@radical_lookup # 部件拆字反查
- - lua_translator@unicode # Unicode
- - lua_translator@number_translator # 数字、金额大写
- - lua_translator@calc_translator # 计算器
- - lua_translator@force_gc # 暴力 GC
+ - lua_translator@*date_translator # 时间、日期、星期
+ - lua_translator@*lunar # 农历
+ - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
+ - table_translator@melt_eng # 英文输入
+ - table_translator@cn_en # 中英混合词汇
+ - table_translator@radical_lookup # 部件拆字反查
+ - lua_translator@*unicode # Unicode
+ - lua_translator@*number_translator # 数字、金额大写
+ - lua_translator@*calc_translator # 计算器
+ - lua_translator@*force_gc # 暴力 GC
filters:
- - lua_filter@corrector # 错音错字提示
+ - lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- - lua_filter@autocap_filter # 英文自动大写
- - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
+ - lua_filter@*autocap_filter # 英文自动大写
+ - lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
+ - lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- - lua_filter@search@radical_pinyin # 部件拆字辅码
+ - lua_filter@*search@radical_pinyin # 部件拆字辅码
- uniquifier # 去重
@@ -290,10 +290,10 @@ recognizer:
patterns: # 再增加方案专有的:
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_v.yaml 的 symbols
radical_lookup: "^uU[a-z]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
- unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@unicode,输出 Unicode 字符
- number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@number_translator,数字金额大写
- calculator: "^cC.+" # 响应 lua_translator@calc_translator,计算器。前缀设定项 calculator/prefix
- gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
+ unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode,输出 Unicode 字符
+ number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator,数字金额大写
+ calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
+ gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
# 从 default 继承快捷键
diff --git a/double_pinyin_abc.schema.yaml b/double_pinyin_abc.schema.yaml
index b245cc37a..541cc2681 100644
--- a/double_pinyin_abc.schema.yaml
+++ b/double_pinyin_abc.schema.yaml
@@ -52,7 +52,7 @@ switches:
# 输入引擎
engine:
processors:
- - lua_processor@select_character # 以词定字
+ - lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
@@ -71,26 +71,26 @@ engine:
translators:
- punct_translator
- script_translator
- - lua_translator@date_translator # 时间、日期、星期
- - lua_translator@lunar # 农历
- - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- - table_translator@melt_eng # 英文输入
- - table_translator@cn_en # 中英混合词汇
- - table_translator@radical_lookup # 部件拆字反查
- - lua_translator@unicode # Unicode
- - lua_translator@number_translator # 数字、金额大写
- - lua_translator@calc_translator # 计算器
- - lua_translator@force_gc # 暴力 GC
+ - lua_translator@*date_translator # 时间、日期、星期
+ - lua_translator@*lunar # 农历
+ - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
+ - table_translator@melt_eng # 英文输入
+ - table_translator@cn_en # 中英混合词汇
+ - table_translator@radical_lookup # 部件拆字反查
+ - lua_translator@*unicode # Unicode
+ - lua_translator@*number_translator # 数字、金额大写
+ - lua_translator@*calc_translator # 计算器
+ - lua_translator@*force_gc # 暴力 GC
filters:
- - lua_filter@corrector # 错音错字提示
- - reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- - lua_filter@autocap_filter # 英文自动大写
- - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
- - simplifier@emoji # Emoji
- - simplifier@traditionalize # 简繁切换
- - lua_filter@search@radical_pinyin # 部件拆字辅码
- - uniquifier # 去重
+ - lua_filter@*corrector # 错音错字提示
+ - reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
+ - lua_filter@*autocap_filter # 英文自动大写
+ - lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
+ - lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
+ - simplifier@emoji # Emoji
+ - simplifier@traditionalize # 简繁切换
+ - lua_filter@*search@radical_pinyin # 部件拆字辅码
+ - uniquifier # 去重
# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
@@ -293,10 +293,10 @@ recognizer:
patterns: # 再增加方案专有的:
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_v.yaml 的 symbols
radical_lookup: "^uU[a-z]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
- unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@unicode,输出 Unicode 字符
- number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@number_translator,数字金额大写
- calculator: "^cC.+" # 响应 lua_translator@calc_translator,计算器。前缀设定项 calculator/prefix
- gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
+ unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode,输出 Unicode 字符
+ number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator,数字金额大写
+ calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
+ gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
# 从 default 继承快捷键
diff --git a/double_pinyin_flypy.schema.yaml b/double_pinyin_flypy.schema.yaml
index 339e3ba03..99482fc54 100644
--- a/double_pinyin_flypy.schema.yaml
+++ b/double_pinyin_flypy.schema.yaml
@@ -52,7 +52,7 @@ switches:
# 输入引擎
engine:
processors:
- - lua_processor@select_character # 以词定字
+ - lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
@@ -71,25 +71,25 @@ engine:
translators:
- punct_translator
- script_translator
- - lua_translator@date_translator # 时间、日期、星期
- - lua_translator@lunar # 农历
- - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- - table_translator@melt_eng # 英文输入
- - table_translator@cn_en # 中英混合词汇
- - table_translator@radical_lookup # 部件拆字反查
- - lua_translator@unicode # Unicode
- - lua_translator@number_translator # 数字、金额大写
- - lua_translator@calc_translator # 计算器
- - lua_translator@force_gc # 暴力 GC
+ - lua_translator@*date_translator # 时间、日期、星期
+ - lua_translator@*lunar # 农历
+ - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
+ - table_translator@melt_eng # 英文输入
+ - table_translator@cn_en # 中英混合词汇
+ - table_translator@radical_lookup # 部件拆字反查
+ - lua_translator@*unicode # Unicode
+ - lua_translator@*number_translator # 数字、金额大写
+ - lua_translator@*calc_translator # 计算器
+ - lua_translator@*force_gc # 暴力 GC
filters:
- - lua_filter@corrector # 错音错字提示
+ - lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- - lua_filter@autocap_filter # 英文自动大写
- - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
+ - lua_filter@*autocap_filter # 英文自动大写
+ - lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
+ - lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- - lua_filter@search@radical_pinyin # 部件拆字辅码
+ - lua_filter@*search@radical_pinyin # 部件拆字辅码
- uniquifier # 去重
@@ -290,10 +290,10 @@ recognizer:
patterns: # 再增加方案专有的:
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_v.yaml 的 symbols
radical_lookup: "^uU[a-z]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
- unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@unicode,输出 Unicode 字符
- number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@number_translator,数字金额大写
- calculator: "^cC.+" # 响应 lua_translator@calc_translator,计算器。前缀设定项 calculator/prefix
- gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
+ unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode,输出 Unicode 字符
+ number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator,数字金额大写
+ calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
+ gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
# 从 default 继承快捷键
diff --git a/double_pinyin_mspy.schema.yaml b/double_pinyin_mspy.schema.yaml
index 117c4adef..d911946b4 100644
--- a/double_pinyin_mspy.schema.yaml
+++ b/double_pinyin_mspy.schema.yaml
@@ -52,7 +52,7 @@ switches:
# 输入引擎
engine:
processors:
- - lua_processor@select_character # 以词定字
+ - lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
@@ -71,25 +71,25 @@ engine:
translators:
- punct_translator
- script_translator
- - lua_translator@date_translator # 时间、日期、星期
- - lua_translator@lunar # 农历
- - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- - table_translator@melt_eng # 英文输入
- - table_translator@cn_en # 中英混合词汇
- - table_translator@radical_lookup # 部件拆字反查
- - lua_translator@unicode # Unicode
- - lua_translator@number_translator # 数字、金额大写
- - lua_translator@calc_translator # 计算器
- - lua_translator@force_gc # 暴力 GC
+ - lua_translator@*date_translator # 时间、日期、星期
+ - lua_translator@*lunar # 农历
+ - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
+ - table_translator@melt_eng # 英文输入
+ - table_translator@cn_en # 中英混合词汇
+ - table_translator@radical_lookup # 部件拆字反查
+ - lua_translator@*unicode # Unicode
+ - lua_translator@*number_translator # 数字、金额大写
+ - lua_translator@*calc_translator # 计算器
+ - lua_translator@*force_gc # 暴力 GC
filters:
- - lua_filter@corrector # 错音错字提示
+ - lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- - lua_filter@autocap_filter # 英文自动大写
- - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
+ - lua_filter@*autocap_filter # 英文自动大写
+ - lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
+ - lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- - lua_filter@search@radical_pinyin # 部件拆字辅码
+ - lua_filter@*search@radical_pinyin # 部件拆字辅码
- uniquifier # 去重
@@ -294,10 +294,10 @@ recognizer:
patterns: # 再增加方案专有的:
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_v.yaml 的 symbols
radical_lookup: "^uU[a-z;]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
- unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@unicode,输出 Unicode 字符
- number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@number_translator,数字金额大写
- calculator: "^cC.+" # 响应 lua_translator@calc_translator,计算器。前缀设定项 calculator/prefix
- gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
+ unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode,输出 Unicode 字符
+ number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator,数字金额大写
+ calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
+ gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
# 从 default 继承快捷键
diff --git a/double_pinyin_sogou.schema.yaml b/double_pinyin_sogou.schema.yaml
index dc9e3e362..635d9bed9 100644
--- a/double_pinyin_sogou.schema.yaml
+++ b/double_pinyin_sogou.schema.yaml
@@ -52,7 +52,7 @@ switches:
# 输入引擎
engine:
processors:
- - lua_processor@select_character # 以词定字
+ - lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
@@ -71,25 +71,25 @@ engine:
translators:
- punct_translator
- script_translator
- - lua_translator@date_translator # 时间、日期、星期
- - lua_translator@lunar # 农历
- - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- - table_translator@cn_en # 中英混合词汇
- - table_translator@melt_eng # 英文输入
- - table_translator@radical_lookup # 部件拆字反查
- - lua_translator@unicode # Unicode
- - lua_translator@number_translator # 数字、金额大写
- - lua_translator@calc_translator # 计算器
- - lua_translator@force_gc # 暴力 GC
+ - lua_translator@*date_translator # 时间、日期、星期
+ - lua_translator@*lunar # 农历
+ - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
+ - table_translator@cn_en # 中英混合词汇
+ - table_translator@melt_eng # 英文输入
+ - table_translator@radical_lookup # 部件拆字反查
+ - lua_translator@*unicode # Unicode
+ - lua_translator@*number_translator # 数字、金额大写
+ - lua_translator@*calc_translator # 计算器
+ - lua_translator@*force_gc # 暴力 GC
filters:
- - lua_filter@corrector # 错音错字提示
+ - lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- - lua_filter@autocap_filter # 英文自动大写
- - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
+ - lua_filter@*autocap_filter # 英文自动大写
+ - lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
+ - lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- - lua_filter@search@radical_pinyin # 部件拆字辅码
+ - lua_filter@*search@radical_pinyin # 部件拆字辅码
- uniquifier # 去重
@@ -294,10 +294,10 @@ recognizer:
patterns: # 再增加方案专有的:
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_v.yaml 的 symbols
radical_lookup: "^uU[a-z;]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
- unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@unicode,输出 Unicode 字符
- number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@number_translator,数字金额大写
- calculator: "^cC.+" # 响应 lua_translator@calc_translator,计算器。前缀设定项 calculator/prefix
- gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
+ unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode,输出 Unicode 字符
+ number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator,数字金额大写
+ calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
+ gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
# 从 default 继承快捷键
diff --git a/double_pinyin_ziguang.schema.yaml b/double_pinyin_ziguang.schema.yaml
index 9ac79d3a2..d44bcf6c0 100644
--- a/double_pinyin_ziguang.schema.yaml
+++ b/double_pinyin_ziguang.schema.yaml
@@ -52,7 +52,7 @@ switches:
# 输入引擎
engine:
processors:
- - lua_processor@select_character # 以词定字
+ - lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
@@ -71,25 +71,25 @@ engine:
translators:
- punct_translator
- script_translator
- - lua_translator@date_translator # 时间、日期、星期
- - lua_translator@lunar # 农历
- - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
- - table_translator@melt_eng # 英文输入
- - table_translator@cn_en # 中英混合词汇
- - table_translator@radical_lookup # 部件拆字反查
- - lua_translator@unicode # Unicode
- - lua_translator@number_translator # 数字、金额大写
- - lua_translator@calc_translator # 计算器
- - lua_translator@force_gc # 暴力 GC
+ - lua_translator@*date_translator # 时间、日期、星期
+ - lua_translator@*lunar # 农历
+ - table_translator@custom_phrase # 自定义短语 custom_phrase_double.txt
+ - table_translator@melt_eng # 英文输入
+ - table_translator@cn_en # 中英混合词汇
+ - table_translator@radical_lookup # 部件拆字反查
+ - lua_translator@*unicode # Unicode
+ - lua_translator@*number_translator # 数字、金额大写
+ - lua_translator@*calc_translator # 计算器
+ - lua_translator@*force_gc # 暴力 GC
filters:
- - lua_filter@corrector # 错音错字提示
+ - lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- - lua_filter@autocap_filter # 英文自动大写
- - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
+ - lua_filter@*autocap_filter # 英文自动大写
+ - lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
+ - lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- - lua_filter@search@radical_pinyin # 部件拆字辅码
+ - lua_filter@*search@radical_pinyin # 部件拆字辅码
- uniquifier # 去重
@@ -292,10 +292,10 @@ recognizer:
patterns: # 再增加方案专有的:
punct: "^V([0-9]|10|[A-Za-z]+)$" # 响应 symbols_caps_v.yaml 的 symbols
radical_lookup: "^uU[a-z;]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
- unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@unicode,输出 Unicode 字符
- number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@number_translator,数字金额大写
- calculator: "^cC.+" # 响应 lua_translator@calc_translator,计算器。前缀设定项 calculator/prefix
- gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
+ unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode,输出 Unicode 字符
+ number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator,数字金额大写
+ calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
+ gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
# 从 default 继承快捷键
diff --git a/lua/cn_en_spacer.lua b/lua/cn_en_spacer.lua
index ec862704f..7d01ea72c 100644
--- a/lua/cn_en_spacer.lua
+++ b/lua/cn_en_spacer.lua
@@ -1,3 +1,6 @@
+-- 中英混输词条自动空格
+-- 在 engine/filters 增加 - lua_filter@cn_en_spacer
+--
-- 为中英混输词条(cn_en.dict.yaml)自动空格
-- 示例:`VIP中P` → `VIP 中 P`
--
diff --git a/lua/cold_word_drop/filter.lua b/lua/cold_word_drop/filter.lua
index 7412ba01a..0287cea6e 100644
--- a/lua/cold_word_drop/filter.lua
+++ b/lua/cold_word_drop/filter.lua
@@ -1,3 +1,11 @@
+-- 词条隐藏、降频
+-- 在 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
+
local filter = {}
function filter.init(env)
diff --git a/lua/cold_word_drop/processor.lua b/lua/cold_word_drop/processor.lua
index 4ddb75c37..96c131955 100644
--- a/lua/cold_word_drop/processor.lua
+++ b/lua/cold_word_drop/processor.lua
@@ -1,3 +1,11 @@
+-- 词条隐藏、降频
+-- 在 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
+
require("cold_word_drop.string")
require("cold_word_drop.metatable")
local processor = {}
diff --git a/lua/corrector.lua b/lua/corrector.lua
index 1bf8a6d9a..fc975484f 100644
--- a/lua/corrector.lua
+++ b/lua/corrector.lua
@@ -3,6 +3,8 @@
示例:「给予」的正确读音是 ji yu,当用户输入 gei yu 时,在候选项的 comment 显示正确读音
示例:「按耐」的正确写法是「按捺」,当用户输入「按耐」时,在候选项的 comment 显示正确写法
+ 关闭此 Lua 时,同时需要关闭 translator/spelling_hints,否则 comment 里都是拼音
+
为了让这个 Lua 同时适配全拼与双拼,使用 `spelling_hints` 生成的 comment(全拼拼音)作为通用的判断条件。
感谢大佬@[Shewer Lu](https://github.com/shewer)提供的思路。
diff --git a/lua/date_translator.lua b/lua/date_translator.lua
index a07a60b74..2c55f3668 100644
--- a/lua/date_translator.lua
+++ b/lua/date_translator.lua
@@ -1,4 +1,4 @@
--- 日期时间
+-- 日期时间,可在方案中配置触发关键字。
-- 提高权重的原因:因为在方案中设置了大于 1 的 initial_quality,导致 rq sj xq dt ts 产出的候选项在所有词语的最后。
local function yield_cand(seg, text)
diff --git a/lua/debuger.lua b/lua/debuger.lua
new file mode 100644
index 000000000..67ffa8340
--- /dev/null
+++ b/lua/debuger.lua
@@ -0,0 +1,12 @@
+local function debuger(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
+
+return debuger
diff --git a/lua/en_spacer.lua b/lua/en_spacer.lua
index b416d4986..293e1ee3d 100644
--- a/lua/en_spacer.lua
+++ b/lua/en_spacer.lua
@@ -1,3 +1,6 @@
+-- 英文词条上屏自动添加空格
+-- 在 engine/filters 的倒数第二个位置,增加 - lua_filter@en_spacer
+--
-- 英文后,再输入英文单词(必须为候选项)自动添加空格
local F = {}
diff --git a/lua/force_gc.lua b/lua/force_gc.lua
new file mode 100644
index 000000000..36ca4edf2
--- /dev/null
+++ b/lua/force_gc.lua
@@ -0,0 +1,9 @@
+-- 暴力 GC
+-- 详情 https://github.com/hchunhui/librime-lua/issues/307
+-- 这样也不会导致卡顿,那就每次都调用一下吧,内存稳稳的
+local function force_gc()
+ -- collectgarbage()
+ collectgarbage("step")
+end
+
+return force_gc
diff --git a/lua/is_in_user_dict.lua b/lua/is_in_user_dict.lua
index 11d1aba73..3bca2d109 100644
--- a/lua/is_in_user_dict.lua
+++ b/lua/is_in_user_dict.lua
@@ -1,6 +1,8 @@
--- 根据是否在用户词典,在结尾加上一个星号 *
--- is_in_user_dict: true 输入过的内容
--- is_in_user_dict: false 或不写 未输入过的内容
+-- 根据是否在用户词典,在 comment 上加上一个星号 *
+-- 在 engine/filters 增加 - lua_filter@is_in_user_dict
+-- 在方案里写配置项:
+-- is_in_user_dict: true 为输入过的内容加星号
+-- is_in_user_dict: false 为未输入过的内容加星号
local M = {}
diff --git a/lua/lunar.lua b/lua/lunar.lua
index e649596d8..4a849fac3 100755
--- a/lua/lunar.lua
+++ b/lua/lunar.lua
@@ -2,6 +2,8 @@
Lua 阿拉伯数字转中文实现 https://blog.csdn.net/lp12345678910/article/details/121396243
农历功能复制自 https://github.com/boomker/rime-fast-xhup
--]]
+--
+-- 农历,可在方案中配置触发关键字。
-- 数字转中文:
diff --git a/lua/reduce_english_filter.lua b/lua/reduce_english_filter.lua
index b901762e3..dc554dc02 100644
--- a/lua/reduce_english_filter.lua
+++ b/lua/reduce_english_filter.lua
@@ -1,4 +1,4 @@
--- 降低部分英语单词在候选项的位置
+-- 降低部分英语单词在候选项的位置,可在方案中配置要降低的模式和单词
-- https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
-- 感谢大佬 @[Shewer Lu](https://github.com/shewer) 指点
-- Mintimate 修改:
diff --git a/lua/search.lua b/lua/search.lua
index 153c061f8..b7f9b5e76 100755
--- a/lua/search.lua
+++ b/lua/search.lua
@@ -1,3 +1,5 @@
+-- 辅码,https://github.com/mirtlecn/rime-radical-pinyin/blob/master/search.lua.md
+--
-- Copyright (C) [Mirtle](https://github.com/mirtlecn)
-- License: CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/)
-- 使用说明:
diff --git a/lua/select_character.lua b/lua/select_character.lua
index 7783657c2..d5fe34229 100644
--- a/lua/select_character.lua
+++ b/lua/select_character.lua
@@ -1,6 +1,6 @@
-- 以词定字
-- 原脚本 https://github.com/BlindingDark/rime-lua-select-character
--- 删除了默认按键 [ ],和方括号翻页冲突,需要在 key_binder 下指定才能生效
+-- 可在 default.yaml → key_binder 下配置快捷键,默认为左右中括号 [ ]
-- 20230526195910 不再错误地获取commit_text,而是直接获取get_selected_candidate().text
-- 20240128141207 重写:将读取设置移动到 init 方法中;简化中文取字方法;预先判断候选存在与否,无候选取 input
-- 20240508111725 当候选字数为 1 时,快捷键使该字上屏
diff --git a/lua/t9_preedit.lua b/lua/t9_preedit.lua
index 6caa74a63..974e615c0 100644
--- a/lua/t9_preedit.lua
+++ b/lua/t9_preedit.lua
@@ -1,3 +1,6 @@
+-- 九宫格,将输入框的数字转为对应的拼音或英文,iRime 用,Hamster 不需要。
+-- 在 engine/filters 增加 - lua_filter@t9_preedit
+--
-- 九宫格专用,iRime 用,仓输入法不用
-- 拼写规则通过 xlit 转写: xlit/abcdefghijklmnopqrstuvwxyz/22233344455566677778889999/
-- 然后通过此 Lua 将输入框的数字转为对应的拼音或英文
diff --git a/lua/v_filter.lua b/lua/v_filter.lua
index 0e94988db..c93c8ceed 100644
--- a/lua/v_filter.lua
+++ b/lua/v_filter.lua
@@ -1,4 +1,4 @@
--- v 模式,单个字符优先
+-- v 模式,单个字符优先(全拼)
-- 因为设置了英文翻译器的 initial_quality 大于 1,导致输入「va」时,候选项是「van vain …… ā á ǎ à」
-- 把候选项应改为「ā á ǎ à …… van vain」,让单个字符的排在前面
-- 感谢改进 @[t123yh](https://github.com/t123yh) @[Shewer Lu](https://github.com/shewer)
diff --git a/others/CHANGELOG.md b/others/CHANGELOG.md
index 6e2ce42d3..7b0a05123 100644
--- a/others/CHANGELOG.md
+++ b/others/CHANGELOG.md
@@ -2,6 +2,12 @@
除日常更新词库外的一些主要更新 🆕、破坏性变更 ⚠️。
+## 2024-12-06
+
+- ⚠️ Lua 模块引用方式变更
+ - 删除了 `rime.lua`
+ - 在方案中引用时添加 `*` 前缀
+
---
*2024.11.29 Release*
@@ -12,7 +18,7 @@
## 2024-11-21
-- ⚠️ 非夹注的 symbol 调用按键从 `vfj` 更改为 `vfjz`
+- ⚙️ 非夹注的 symbol 调用按键从 `vfj` 更改为 `vfjz`
## 2024-11-04
diff --git "a/others/iRime/iRime \344\271\235\345\256\253\346\240\274/rime_ice.custom.yaml" "b/others/iRime/iRime \344\271\235\345\256\253\346\240\274/rime_ice.custom.yaml"
index a57aa97ae..7576c1198 100644
--- "a/others/iRime/iRime \344\271\235\345\256\253\346\240\274/rime_ice.custom.yaml"
+++ "b/others/iRime/iRime \344\271\235\345\256\253\346\240\274/rime_ice.custom.yaml"
@@ -22,7 +22,7 @@ patch:
- xlit/abcdefghijklmnopqrstuvwxyz/22233344455566677778889999/
# 让输入框从数字变成字母
- engine/filters/@before 0: lua_filter@t9_preedit
+ engine/filters/@before 0: lua_filter@*t9_preedit
translator/spelling_hints: 16
# 重写了,因为需要 @ 和 # 的映射,否则键盘上那俩按钮不起作用。
diff --git a/others/recipes/full.recipe.yaml b/others/recipes/full.recipe.yaml
index cf8eb93a0..d4fe177de 100644
--- a/others/recipes/full.recipe.yaml
+++ b/others/recipes/full.recipe.yaml
@@ -9,7 +9,6 @@ install_files: >-
cn_dicts/*.*
en_dicts/*.*
opencc/*.*
- rime.lua
lua/*.*
lua/cold_word_drop/*.*
default.yaml
diff --git a/rime.lua b/rime.lua
deleted file mode 100644
index cd72ede38..000000000
--- a/rime.lua
+++ /dev/null
@@ -1,100 +0,0 @@
--- 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")
-
--- 计算器
-calc_translator = require("calc_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
diff --git a/rime_ice.schema.yaml b/rime_ice.schema.yaml
index 02bfac220..d67ba2556 100644
--- a/rime_ice.schema.yaml
+++ b/rime_ice.schema.yaml
@@ -41,7 +41,7 @@ switches:
# 输入引擎
engine:
processors:
- - lua_processor@select_character # 以词定字
+ - lua_processor@*select_character # 以词定字
- ascii_composer
- recognizer
- key_binder
@@ -60,27 +60,27 @@ engine:
translators:
- punct_translator
- script_translator
- - lua_translator@date_translator # 时间、日期、星期
- - lua_translator@lunar # 农历
- - table_translator@custom_phrase # 自定义短语 custom_phrase.txt
- - table_translator@melt_eng # 英文输入
- - table_translator@cn_en # 中英混合词汇
- - table_translator@radical_lookup # 部件拆字反查
- - lua_translator@unicode # Unicode
- - lua_translator@number_translator # 数字、金额大写
- - lua_translator@calc_translator # 计算器
- - lua_translator@force_gc # 暴力 GC
+ - lua_translator@*date_translator # 时间、日期、星期
+ - lua_translator@*lunar # 农历
+ - table_translator@custom_phrase # 自定义短语 custom_phrase.txt
+ - table_translator@melt_eng # 英文输入
+ - table_translator@cn_en # 中英混合词汇
+ - table_translator@radical_lookup # 部件拆字反查
+ - lua_translator@*unicode # Unicode
+ - lua_translator@*number_translator # 数字、金额大写
+ - lua_translator@*calc_translator # 计算器
+ - lua_translator@*force_gc # 暴力 GC
filters:
- - lua_filter@corrector # 错音错字提示
+ - lua_filter@*corrector # 错音错字提示
- reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜
- - lua_filter@autocap_filter # 英文自动大写
- - lua_filter@v_filter # v 模式 symbols 优先
- - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
- - lua_filter@long_word_filter # 长词优先(顺序要求:长词优先 > Emoji)
- - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置
+ - lua_filter@*autocap_filter # 英文自动大写
+ - lua_filter@*v_filter # v 模式 symbols 优先
+ - lua_filter@*pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换)
+ - lua_filter@*long_word_filter # 长词优先(顺序要求:长词优先 > Emoji)
+ - lua_filter@*reduce_english_filter # 降低部分英语单词在候选项的位置
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换
- - lua_filter@search@radical_pinyin # 部件拆字辅码
+ - lua_filter@*search@radical_pinyin # 部件拆字辅码
- uniquifier # 去重
@@ -394,10 +394,10 @@ recognizer:
patterns: # 再增加方案专有的:
punct: "^v([0-9]|10|[A-Za-z]+)$" # 响应 symbols_v.yaml 的 symbols,用 'v' 替换 '/'
radical_lookup: "^uU[a-z]+$" # 响应部件拆字的反查,与 radical_lookup/prefix 匹配
- unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@unicode,输出 Unicode 字符
- number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@number_translator,数字金额大写
- calculator: "^cC.+" # 响应 lua_translator@calc_translator,计算器。前缀设定项 calculator/prefix
- gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
+ unicode: "^U[a-f0-9]+" # 脚本将自动获取第 2 个字符 U 作为触发前缀,响应 lua_translator@*unicode,输出 Unicode 字符
+ number: "^R[0-9]+[.]?[0-9]*" # 脚本将自动获取第 2 个字符 R 作为触发前缀,响应 lua_translator@*number_translator,数字金额大写
+ calculator: "^cC.+" # 响应 lua_translator@*calc_translator,计算器。前缀设定项 calculator/prefix
+ gregorian_to_lunar: "^N[0-9]{1,8}" # 脚本将自动获取第 2 个字符 N 作为触发前缀,响应 lua_translator@*lunar,公历转农历,输入 N20240115 得到「二〇二三年腊月初五」
# 从 default 继承快捷键
diff --git a/t9.schema.yaml b/t9.schema.yaml
index fc53fe04a..6771e3e01 100644
--- a/t9.schema.yaml
+++ b/t9.schema.yaml
@@ -45,9 +45,9 @@ engine:
translators:
- punct_translator
- script_translator
- - lua_translator@date_translator # 时间、日期、星期
- - table_translator@custom_phrase # 自定义短语 custom_phrase_t9.txt
- # - table_translator@melt_eng # 英文输入
+ - lua_translator@*date_translator # 时间、日期、星期
+ - table_translator@custom_phrase # 自定义短语 custom_phrase_t9.txt
+ # - table_translator@melt_eng # 英文输入
filters:
- simplifier@emoji # Emoji
- simplifier@traditionalize # 简繁切换