We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rime_mint.custom.yaml
__include: code_limit:/patch
/+
在默认的 rime_mint.custom.yaml 文件中,含有一个 __include 项,如果在之后追加带有 /+ 语法的值,原本应该追加(或者合并)的列表(或者字典)项会被整个覆盖。
__include
修改 rime_mint.custom.yaml 文件如下:
重新部署后 build/rime_mint.schema.yaml 文件中对应项如下:
build/rime_mint.schema.yaml
注意其中 # 项值使用了 default.yaml 中、而非 rime_mint.schema.yaml 中的设定。这意味着 /+ 项只是覆盖了 rime_mint.schema.yaml 中对应项的值。
#
default.yaml
rime_mint.schema.yaml
删除 __include 行后,重新部署,build/rime_mint.schema.yaml 文件中对应项如下:
此时字典正确合并。
由于含有 __include 项,根据官方文档中的描述:
同一節點下,編譯指令的執行順序爲: __include: 包含指定節點 → 合併當前節點下的其他 key-value 數據 → __patch: 修改子節點。
key-value
__patch
这可能使得原本 /+ 项在 rime_mint.custom.yaml 内部提前展开,并在之后覆盖了 rime_mint.schema.yaml 中对应项的值。
将默认的 rime_mint.custom.yaml 文件中的 __include 值移至 rime_mint.schema.yaml 中
The text was updated successfully, but these errors were encountered:
rime/librime#192 另一种可行的方法是使用 /+/+,这样 __include 只会展开第一个 /+,但是这样的写法本身就很奇怪,更像一个不得以而为之的方案,我觉得直接将 __include 项移出是一个更好的解决方法。
/+/+
Sorry, something went wrong.
测试了一下,确实__include和/+的语法有冲突,直接导致/+的部分失效。感谢建议,用__include的场景不多,而且/+更方便,去除__include是个不错的方案。
90f6734
No branches or pull requests
问题描述
在默认的
rime_mint.custom.yaml
文件中,含有一个__include
项,如果在之后追加带有/+
语法的值,原本应该追加(或者合并)的列表(或者字典)项会被整个覆盖。问题示例
修改
rime_mint.custom.yaml
文件如下:重新部署后
build/rime_mint.schema.yaml
文件中对应项如下:注意其中
#
项值使用了default.yaml
中、而非rime_mint.schema.yaml
中的设定。这意味着/+
项只是覆盖了rime_mint.schema.yaml
中对应项的值。删除
__include
行后,重新部署,build/rime_mint.schema.yaml
文件中对应项如下:此时字典正确合并。
可能原因
由于含有
__include
项,根据官方文档中的描述:这可能使得原本
/+
项在rime_mint.custom.yaml
内部提前展开,并在之后覆盖了rime_mint.schema.yaml
中对应项的值。可能的解决方法
将默认的
rime_mint.custom.yaml
文件中的__include
值移至rime_mint.schema.yaml
中The text was updated successfully, but these errors were encountered: