我有一种自定义语言,我想在 Visual Studio Code 中为其提供语法高亮显示。
在这种语言中,字符串文字以双引号或单引号开始和结束。以双引号开头的字符串文字可能包含单引号,反之亦然。不会发生任何其他对引号的转义。但无论起始引号类型如何,文字都可能跨越多行。
在我的tmLanguage.json
文件中,我尝试了这些正则表达式:
{
"match": "'[^']*'",
"name": "string.quoted.single.rss"
},
{
"match": "\"[^\"]*\"",
"name": "string.quoted.double.rss"
}
不幸的是,这只适用于单行文字。然后我尝试了
{
"match": "(?s)'[^']*'",
"name": "string.quoted.single.rss"
},
{
"match": "(?s)\"[^\"]*\"",
"name": "string.quoted.double.rss"
}
但是使用(?s)
修饰符,语法突出显示根本不起作用。
有没有办法匹配多行字符串?