gpt4 book ai didi

visual-studio-code - 如何在 vscode 中正确注入(inject)语法扩展(所以它有效)?

转载 作者:行者123 更新时间:2023-12-05 02:13:39 26 4
gpt4 key购买 nike

我真的很难想扩展 shell 脚本语法,因为它只突出显示 bash 内置命令。我想基本上突出显示 shell 命令,而不仅仅是内置命令。为此,我尝试通过注入(inject)来扩展语法,但这没有很好的记录,所以我一遍又一遍地遇到同样的问题,不管我在做什么。如果我注入(inject)一些命令被识别为函数(因此突出显示)它们是,但它们也在注释中突出显示,这非常烦人。无论我尝试了哪种组合,我都不会摆脱它。由于 support.function.extended.shell token 始终是注入(inject)的最高值,因此它始终是彩色的。有什么解决办法吗???

正如你在图片中看到的,像“echo”这样的内置命令在评论中没有着色,就像它应该的那样

{
"scopeName": "shellcommand.injection",
"injectionSelector": "L:source.shell -support.function.builtin.shell",
"patterns": [{
"include": "#shell-commands"
}],
"repository": {
"shell-commands": {
"patterns": [{

"match": "(?<=^|;|&|\\s)(systemctl|cp|sed|awk)(?=\\s|;|&|$)",
"name": "support.function.extended.shell"

}]
}
}
}

然后输出看起来像这样......

enter image description here

最佳答案

您可能需要更具体的注入(inject)选择器。尝试定位更具体的范围(不包含评论的范围)或从选择器中排除评论。我认为第二个更适合您的示例。为此只需使用 - 否定选择器:

"injectionSelector": "L:source.shell -support.function.builtin.shell -comment"

enter image description here

关于visual-studio-code - 如何在 vscode 中正确注入(inject)语法扩展(所以它有效)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54786904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com