Я создаю грамматику tmlanguage для VS Code, чтобы реализовать подсветку синтаксиса для определенного типа файла конфигурации.Расширение работает нормально, но я хотел бы объединить некоторые правила сопоставления в файле tmLanguage.json.
Вот пример двух рабочих правил сопоставления в JSON:
{
"match": "(\\s+)(dynamic|static)(?=\\s+)",
"name": "support.class.config_lang"
},
{
"match": "(\\s+)(in|out)(?=\\s+)",
"name": "support.class.config_lang"
}
Вот пример того, как я хочу структурировать правила соответствия для консолидации в массиве:
{
"match": [
"(\\s+)(dynamic|static)(?=\\s+)",
"(\\s+)(in|out)(?=\\s+)"
],
"name": "support.class.config_lang"
}
Это кажется невозможным, но я подумал об этой идее, работая над кодом VSтема, в которой я использовал очень похожий подход с массивом для применения настроек стиля к нескольким значениям области.
Я исследовал эту возможность с наиболее полезной информацией, поступающей отсюда: https://macromates.com/manual/en/language_grammars. Однако,ни одно из исследований, которые я провел до сих пор, не дало каких-либо особенно полезных результатов.
Пожалуйста, не стесняйтесь предлагать любые идеи, которые могут каким-либо образом укрепить мои правила матча.