mirror of
https://github.com/iDvel/rime-ice.git
synced 2026-05-14 00:30:37 +08:00
feat: translator 改成自动读取 recognizer/patterns 配置来获取触发前缀 close #615
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
-- 来源 https://github.com/yanhuacuo/98wubi-tables > http://98wb.ysepan.com/
|
||||
-- 数字、金额大写 (任意大写字母引导+数字)
|
||||
-- 触发前缀默认为 recognizer/patterns/number 的第 2 个字符,即 R
|
||||
|
||||
local function splitNumPart(str)
|
||||
local part = {}
|
||||
@@ -109,10 +110,11 @@ local function number_translatorFunc(num)
|
||||
return result
|
||||
end
|
||||
|
||||
-- 触发模式为任意大写字母(除了 U,U 用在 Unicode 了)开头,可在 recognizer/patterns 中自定义
|
||||
local function number_translator(input, seg)
|
||||
local function number_translator(input, seg, env)
|
||||
-- 获取 recognizer/patterns/number 的第 2 个字符作为触发前缀
|
||||
env.number_keyword = env.number_keyword or env.engine.schema.config:get_string('recognizer/patterns/number'):sub(2, 2)
|
||||
local str, num, numberPart
|
||||
if string.match(input, "^([A-TV-Z]+%d+)(%.?)(%d*)$") ~= nil then
|
||||
if env.number_keyword ~= '' and input:sub(1, 1) == env.number_keyword then
|
||||
str = string.gsub(input, "^(%a+)", "")
|
||||
numberPart = number_translatorFunc(str)
|
||||
if #numberPart > 0 then
|
||||
|
||||
Reference in New Issue
Block a user