Я определил определение языка для пользовательского языка. Для подсветки синтаксиса я определил некоторые области действия в шаблонах:
"patterns":
[
{
"match": "(?i)\\b((IGNORE)|(OVERWRITE)|(SEQUENCE))\\b",
"name": "keyword.option.ths"
},
{
"match": "(?i)\\b((NUMBER)|(DATE)|(SEQUENCE)|(STRING))\\b",
"name": "keyword.datatype.ths"
}
]
Как видите, ключевое слово SEQUENCE
появляется в обеих областях keyword.option.ths
и keyword.datatype.ths
. Когда применяются цвета, SEQUENCE
всегда получает цвет, связанный с keyword.option.ths
. Я хотел бы, чтобы эта область использовалась только в том случае, если первый непробельный символ в строке - @
.
Я пытался изменить регулярное выражение для keyword.option.ths
на
(?i)^\\s*@.+\\b((IGNORE)|(OVERWRITE)|(SEQUENCE))\\b
Но тогда ничего не узнается.
Есть ли возможность добиться того, чего я хочу?