Open tansongchen opened 4 months ago
在使用中,观察到以下现象:如果使用 Memory 的 update_userdict() 函数更新了用户词典,则这个更新的内容一般不会立刻反映出来,但如果按了回车等 Rime 不会处理的键,就能立刻反映出来。我认为原因是:TableTranslator 和 ScriptTranslator 都在一开始调用了 FinishSession() 这个函数,以保证上一次的写入生效,但是 lua 中的 Memory 没有暴露这个函数,因此无法调用。
update_userdict()
FinishSession()
建议把
bool StartSession(); bool FinishSession(); bool DiscardSession();
这几个函数也加入 lua 接口,方便开发者调用。
你可以試試在https://github.com/hchunhui/librime-lua/blob/7f3eca2ce659fc2401b8acb52bd2182b433e12b1/src/types.cc#L1656 加入 memory.FinishSession();
在使用中,观察到以下现象:如果使用 Memory 的
update_userdict()
函数更新了用户词典,则这个更新的内容一般不会立刻反映出来,但如果按了回车等 Rime 不会处理的键,就能立刻反映出来。我认为原因是:TableTranslator 和 ScriptTranslator 都在一开始调用了FinishSession()
这个函数,以保证上一次的写入生效,但是 lua 中的 Memory 没有暴露这个函数,因此无法调用。建议把
这几个函数也加入 lua 接口,方便开发者调用。