修改中英状态补丁结构


问题描述

由于要考虑兼容「小狼毫助手」的单行读写,早期版本是以「单行格式」为读写目标:

patch:
  app_options/chrome.exe: {ascii_mode: true}
  app_options/cmd.exe: {ascii_mode: true}
  app_options/conhost.exe: {ascii_mode: true}

但是后来发现 weasel.custom.yaml 会被机器覆写,考虑最低成本的解决方案,我们现在修改一下 weasel.custom.yaml 的结构:

patch:
  __include: "hot_keys:/patch"
  "style/color_scheme": "amber-2"

指定 hot_keys.yaml 下的 patch 节点为外部引用,看一下结果:

  • hot_keys.yaml
patch:
  app_options/chrome.exe: {ascii_mode: false}
  app_options/cmd.exe: {ascii_mode: false}
  app_options/conhost.exe: {ascii_mode: false}
  app_options/test1.exe: {ascii_mode: true}
  app_options/test2.exe: {ascii_mode: true}
  app_options/test3.exe: {ascii_mode: true}

部署结果:

  • /build/weasel.yaml
__build_info:
  rime_version: 1.8.5
  timestamps:
    hot_keys: 1679776238
    hot_keys.custom: 0
    weasel: 1679684987
    weasel.custom: 1679775931
app_options:
  chrome.exe:
    ascii_mode: false
  cmd.exe:
    ascii_mode: false
  conhost.exe:
    ascii_mode: false
  test1.exe:
    ascii_mode: true
  test2.exe:
    ascii_mode: true
  test3.exe:
    ascii_mode: true

完全符合预期,即使从小狼毫自带的设置入口中,以「改配色」的方式重新覆写,也不会再改变上述结构,测试完全通过。

下面,就是修改 rimetool 的源代码,把读写的目标,改为 hot_keys.yaml 即可,其余事务逻辑不发生改变。

源码修改

rimetool 中,仅需修改读写对像为 hot_keys.yaml 即可。

目前,rimetool 的源码已经修改完毕,小狼毫的编译打包文件也已更新。LinuxMacOS 上也将更新。


文章作者: 五笔小筑
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 五笔小筑 !
评论
  目录