home icon indicating copy to clipboard operation
home copied to clipboard

custom补丁中删除一项的解决方案?

Open byzod opened this issue 1 month ago • 1 comments

一段时间没更新雾凇 ,为了提高可靠性,我的更新方法是把自定义文件复制出来,然后扔到新的雾凇里,确保没有残留的无用或过时文件

然后发现一个字都打不出来了

一行行过更新日志发现原来是因为改变了引用模块的方式 (https://github.com/iDvel/rime-ice/commit/aa505b7b2d5123a1fdef9951dea605a7cbb0d081) ,而我的patch里为了不使用某个模块,是把原有的translators写了一遍覆盖默认方案的,于是老的写法覆盖了新的,导致所有的模块都加载失败


  engine/+:
    translators:
      - punct_translator
      - script_translator
      - lua_translator@date_translator                # 时间、日期、星期
      - lua_translator@lunar                          # 农历
      # - table_translator@custom_phrase                # 自定义短语 custom_phrase_double.txt #关闭
      【下略】

然后看到 https://github.com/rime/home/issues/1836 说patch好像没有删除某项的写法,似乎这种需求只能把整个list全部覆盖?

可以预见,这种写法无法反应原方案中的任何更改

如果雾凇在这里增加了某个模块,必然会被我的patch覆盖掉,除了新增的功能看不到以外,还可能导致需求该模块的其他功能出问题

有什么更好的,更健壮的patch写法,使得不使用default中某个模块的需求更无害化,不会在某次更新中使得整个方案爆炸呢?

byzod avatar Nov 22 '25 07:11 byzod

沒有。

如果自己設計包含若干可選功能的列表,可以按照功能組織代碼塊,最後在一處合併。 如:default:/key_binder/bindings

lotem avatar Nov 25 '25 01:11 lotem