教程目录:rime
中州韵小狼毫须鼠管安装配置教程 保姆级教程 100+增强功能配置教程
lua
是 Rime
中州韵/小狼毫输入法强大的武器,掌握如何在Rime
中州韵/小狼毫中使用lua
,你将体验到什么叫 随心所欲。
先看效果
在 rime中州韵 输入效果一览 中的 👇 help效果 一节中, 我们看到了在Rime
中州韵/小狼毫输入法中输入 help
时,输入法会展示出如下👇的候选项效果:
这个效果是如何出来的呢? 我们在 rime中州韵小狼毫 自定义词典 一文中介绍过 自定义词典,所以最直观的解决方案是,我们在用户词典中加入对应的自定义词条,然后 重新部署 即可。
这个想法是正确的,如果在我们的自定义词典 (此处以 Custom_phrase.txt
为例)加入以下👇自定义词条,亦可现实同样的效果:
lua version: Lua 5.4 help
特殊符号-->/help help
latexLetters-->uzalph help
但是,本文并不打算对比在实现同样效果时,自定义词典和lua
脚本两种方案孰优孰劣,仅为讲解如何通过lua
脚本的方案在Rime
中州韵/小狼毫输入法中如何实现这个help
的效果。
Translator
在Rime
输入法中,有两个概念非常重要,一个是Translator
, 一个是Filter
。
在👆上图中,展示了Rime
输入法中的Translator
和Filter
的大致工作流程:Rime
引擎捕捉到用户的键盘输入字符 ddfb,然后经过一些重要的前端处理(前端处理部分上图没有画出)后,进入Translator
中处理,Translator
将字符 ddfb 翻译成词条 大地。然后把Translator
生成的候选词送入Filter
中处理,Filter
对Translator
生成的候选词逐一进行处理,丰富了候选词的信息(在上图的例子中,为候选词大地进行了注音),同时增加了一个新的候选词母亲。经Filter
处理完成后的候选词,以及Filter
生成的新的候选词,做为最终的候选词选项提供给用户进行选择使用。
本文中,我们将重点讲解如何定义一个Translator
处理器。
help.lua
一般来说,根据你需要实现的功能,我们为我们的lua
脚本拟定一个名字,今天我们所要实现的功能是实现 help
候选项,所以我们把我们的lua
脚本命名为 help.lua
。
👇如下,我们的help.lua
脚本,应该放置于 用户文件夹 下的 lua 子文件夹内,所以如果你的 用户文件夹 内没有 lua 文件夹,请创建 lua 文件夹,然后将你的 help.lua
文档放在此 lua 文件夹内。
在help.lua
脚本内,以下的脚本结构中,我们定义了一个函数/方法,这个方法名为 translator
(名称不限,也可以是其它的名字),这个 translator
方法内部定义了具体的 translator 逻辑。在脚本的最后一行,我们通过 return
关键字抛出了translator
方法。这样我们就可以在rime
引擎中调用该translator
方法实现具体的处理逻辑。
--lua语言中的注释用“--”
function translator(input, seg)
--这里定义 translator 逻辑,例如如果看到 input == ddfb, 则给出候选项 大地
end
return translator
👇以下是help.lua
的具体代码:
--lua语言中的注释用“--”
function translat