Я пытаюсь реализовать поддержку нового языка в VS Code, используя файл tmGrammar
json. В этом языке переменные начинаются с !
, и на этом языке есть специальная зарезервированная переменная с именем !this
.
Я хочу применить один класс ко всем общим переменным, а другой - для переменной !this
. Я делаю это в моем json файле:
"repository": {
"keywords": {
"patterns": [
{
"name": "constant.character",
"match": "(?i)\\b(!this)\\b"
},
{
"name": "variable.other",
"match": "(?i)\\![a-z0-9]+"
},
}
}
Но это окраска !this
и !someVar
в один и тот же цвет.
Если я изменю первое правило на (?i)\\b(this)\\b
, то без !
слово this
будет окрашено правильно.
Я также попытался изменить порядок правил, но теперь независимо от того, что я делаю, !this
имеет тот же цвет, что и обычные переменные.
Есть ли проблема с первым регулярным выражением?