Closed YuruiHong closed 7 months ago
此处解析要求yaml配置是 string: [ string ]
形式。
@WhiredPlanck 是否能从rime直接读取symbols?这个应该是由kaml解析导致的
此处解析要求yaml配置是
string: [ string ]
形式。@WhiredPlanck 是否能从rime直接读取symbols?这个应该是由kaml解析导致的
@shitlime 用 librime 读取方案文件那有点开倒车,毕竟从 C++ 将一堆 Map 和 List 转换进来还要各种 cast 显得更麻烦。其实更准确地说,这应该是 KotlinX Serialization 的“局限性”,默认提供的(基本类型)反序列化器只能整体解析而不能单点处理。最快的解决办法是套一层 try catch,这样遇到解析错误,整个就 symbols 就解析不到了,当然慢一点的话,要达到题主 @YuruiHong 想要的效果也是可以的。
不过我想说的是,我不知道之前的词表是哪些词表。按照规范,symbols 的每个条目都应该是 <key>: [ <value>, ... ]
形式,即便是官方提供的 symbols 表,单项值也是单项列表而不是字符串标量。遇到部署错误而崩溃是我没做好异常处理,但是本质上用户使用的 symbols 表没完全按照规范,也是不置可的。
Describe the bug
To Reproduce Steps to reproduce the bug:
Expected behavior 能够识别scalar对象而不一定要求list,从而与一些之前的词表兼容,不发生部署连环报错。
Log com.osfans.trime-2024-03-04T18_40_32Z.txt
Smartphone (please complete the following information):
Build info: