(如何)TextMate语法可以在“名称”或“ contentName”字段中指定多个范围吗?

时间:2019-06-05 05:26:38

标签: textmate

可以或如何在TextMate语法的单个规则的“名称”或“ contentName”字段中指定多个范围,尤其是针对TextMate 2?

我想在一条规则中指定多个范围,因为有多种方法可以引用相同的标记/标点,并且不同的主题无法完全支持它们。

我已经在VS Code的范围规范之间成功使用了空格,但是这里的问题是TextMate正确地实际支持什么?我想确保该方法与TextMate兼容,但是找不到有关此问题的任何文档。 Atom不支持此功能。

这是有关字符串插值子语句运算符$( )的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"
            }
        ]

0 个答案:

没有答案