如何清除字符串中变量的textmate语法高亮?

问题描述 投票:0回答:1

考虑通过以下方式为字符串着色的文本语法:

{
    "name": "string.quoted.single.my-language",
    "begin": "'",
    "end": "'",
    "patterns": [
        {
            "include": "#escaping"
        }
    ]
},

并且转义定义为:

{
    "match": "(\\{)(.*?)(\\})",
    "captures": {
        "1": {
            "name": "string.interpolated.escape.my-language"
        },
        "2": {
            "name": "plaintext.my-language"
        },
        "3": {
            "name": "string.interpolated.escape.my-language"
        }
    }
}

转义块中的内容保持与字符串相同的颜色,而不是没有颜色。是否可以将“纯文本”范围推到顶部以删除此处的突出显示?如果不是,我认为这需要由字符串模式来处理,但我不知道如何做到这一点。

示例:

'string content <escaped content with normal highlighting> string content again'

visual-studio-code grammar textmate
1个回答
0
投票

是的,您可以使用范围名称

meta.embedded
来重置它。
它还重新启用括号对着色。
"0": { "name": "meta.embedded.my-language" }

© www.soinside.com 2019 - 2024. All rights reserved.