tmLanguage в JSON для кода VS - Как объединить правила соответствия с несколькими регулярными выражениями? - PullRequest
0 голосов
/ 18 сентября 2018

Я создаю грамматику 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. Однако,ни одно из исследований, которые я провел до сих пор, не дало каких-либо особенно полезных результатов.

Пожалуйста, не стесняйтесь предлагать любые идеи, которые могут каким-либо образом укрепить мои правила матча.

...