cra*_*ked 2 grammar textmate code-injection visual-studio-code
我真的很难扩展 shell-script 语法,因为它只突出显示 bash 内置命令。我想基本上突出显示 shell 命令,而不仅仅是内置命令。为此,我尝试通过注入来扩展语法,但这并没有很好的文档记录,因此无论我在做什么,我都一遍又一遍地遇到相同的问题。如果我注入一些命令以被识别为函数(并因此突出显示),它们是,但它们也在注释中突出显示,这非常烦人。无论我尝试了哪些组合,我都不会摆脱它。由于 support.function.extended.shell 令牌始终是注入的最高值,因此它始终是彩色的。有什么解决办法吗???
正如你在图片中看到的,像“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"
}]
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后输出看起来像这样......
您可能需要一个更具体的注入选择器。尝试针对更具体的范围(不包括评论的范围)或从选择器中排除评论。我认为第二个更适合您的示例。只需-
为此使用否定选择器:
"injectionSelector": "L:source.shell -support.function.builtin.shell -comment"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
925 次 |
最近记录: |