Мне очень трудно расширить грамматику shell-скрипта, так как она только выделяет встроенные команды bash.Я хочу выделить команды оболочки, а не только встроенные.Для этого я попытался расширить грамматику с помощью инъекций, но это не очень хорошо задокументировано, и поэтому я снова и снова сталкиваюсь с одной и той же проблемой, независимо от того, что я делаю.Если я ввожу некоторые команды, которые должны быть распознаны как функции (и, следовательно, выделены), они есть, но они также выделяются в комментариях, что очень раздражает.Я не избавляюсь от этого независимо от того, какие комбинации я пробовал.Так как токен 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"
}]
}
}
}
Выходные данные выглядят так ...
![enter image description here](https://i.stack.imgur.com/RpRNY.png)