Может или Как вы можете указать несколько областей в полях name или contentName одного правила в грамматике TextMate, особенно для TextMate 2?
Я бы хотел указать несколько областей в одном правиле, поскольку существует несколько способов ссылаться на один и тот же токен / пунктуацию, и разные темы не поддерживают их все в полной мере.
Я успешно использовал пробел между спецификациями областей действия с VS Code, но вопрос здесь в том, что собственно TextMate действительно поддерживает? Я хочу убедиться, что метод совместим с TextMate, но не могу найти никакой документации по этому вопросу. Атом не поддерживает это.
Это один из примеров правила PowerShell, касающегося оператора подстановки интерполированной строки $( )
, который успешно работает в VS Code, позволяя различным темам выделять лучшее, что они могут, лучшее из которых - punctuation.section.embedded.substatement.begin.powershell
, поэтому его список указан последним, потому что он включает «встроенную» ссылку.
interpolation:
begin: "(\\$)(\\()"
beginCaptures:
"1":
name: "keyword.other.substatement.powershell punctuation.definition.substatement.powershell punctuation.section.embedded.substatement.begin.powershell"
"2":
name: "punctuation.section.group.begin.powershell punctuation.section.embedded.substatement.begin.powershell"
contentName: "interpolated.complex.source.powershell"
end: "\\)"
endCaptures:
"0":
name: "punctuation.section.group.end.powershell punctuation.section.embedded.substatement.end.powershell"
name: "meta.embedded.substatement.powershell"
patterns: [
{
include: "$self"
}
]