我很难扩展shell脚本语法,因为它仅突出显示bash-builtin命令。我想主要强调外壳命令,而不仅仅是内置命令。为此,我尝试通过注入来扩展语法,但这没有得到很好的记录,因此无论我在做什么,我都会一遍又一遍地遇到相同的问题。 如果我注入一些要被识别为功能的命令(并因此突出显示),它们就是这些命令,但是它们也会在注释中突出显示,这非常令人讨厌。无论我尝试哪种组合,我都不会摆脱它。由于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"
}]
}
}
}
然后输出看起来像这样……