fix lua 降低英语单词顺序的逻辑 #147

This commit is contained in:
Dvel 2023-04-08 14:45:10 +08:00
parent 32cbf184af
commit 272c70694d
2 changed files with 13 additions and 7 deletions

View File

@ -199,17 +199,19 @@ function reduce_english_filter(input, env)
-- filter start
local code = env.engine.context.input
if env.words[code] then
local first_cand
local pending_cands = {}
local index = 0
for cand in input:iter() do
index = index + 1
if first_cand then
yield(cand)
if string.lower(cand.text) == code then
table.insert(pending_cands, cand)
else
first_cand = cand
yield(cand)
end
if index >= env.idx then
yield(first_cand)
if index >= env.idx + #pending_cands - 1 then
for _, cand in ipairs(pending_cands) do
yield(cand)
end
break
end
end

View File

@ -98,7 +98,11 @@ reduce_english_filter:
# 降低到第 idx 个位置
idx: 2
# 要降低的单词,匹配的是输入码,即全小写。
words: [rug, bus, ship, laos, bail, bam, bans, bib, bos, chic, chit, dab, dag, dal, dit, dub, dug, fab, gam, ger, gus, hem, hep, hud, kat, lam, lax, lex, lug, lux, moc, mos, mot, mum, nad, nay, nib, nip, pak, pap, pax, rig, rum, sac, sal, sax, sec, shin, sis, ska, slang, sus, tad, taj, tac, tic, yep, yum]
words: [rug, bus, ship, laos, bail, bam, bans, bib, bos, chic, chit, dab, dag,
dal, dit, dub, dug, fab, gam, ger, gus, hem, hep, hud, kat, lam, lax, lex, lug,
lux, moc, mos, mot, mum, nad, nay, nib, nip, pak, pap, pax, rig, rum, sac, sal,
sax, sec, shin, sis, ska, slang, sus, tad, taj, tac, tic, yep, yum, fax, cain,
key, mob, buy]
# 从 default 继承快捷键