Regex tmLanguage:如何;连锁店;模式,例如,即使在换行符上,在匹配后匹配某个内容?
我想重点介绍VS代码中的一种语言(主要是,如果它也适用于Sublime,一些同事会很高兴)。这种语言并不特别关心换行符,它们与任何其他空格一样计算。因此,换行符可以出现在标记之间的任何点上 下面是一行代码示例:Regex tmLanguage:如何;连锁店;模式,例如,即使在换行符上,在匹配后匹配某个内容?,regex,visual-studio-code,textmate,tmlanguage,Regex,Visual Studio Code,Textmate,Tmlanguage,我想重点介绍VS代码中的一种语言(主要是,如果它也适用于Sublime,一些同事会很高兴)。这种语言并不特别关心换行符,它们与任何其他空格一样计算。因此,换行符可以出现在标记之间的任何点上 下面是一行代码示例: function func_name ( in param.parameter1 as const pointer global.type, out param.parameter2 as pointer global.type2 ) return bool is 但这也是有效的(ee
function func_name ( in param.parameter1 as const pointer global.type, out param.parameter2 as pointer global.type2 ) return bool is
但这也是有效的(eek):
对于外部范围,我可以以function
开始,以is
结束,因为这些是必须出现的关键字。但其余的则要复杂得多。例如,对于参数,它应该以in
或out
开头,然后是变量名。然后,可选地有as
,如果是这种情况,则后跟零个或多个修饰符(指针
,常量
,…),然后是类型名称。我如何用多行来表达这一点
我尝试了一些变体,但没有成功(这里,仅匹配“in”+名称进行探索):
“参数”:{
“模式”:[
{
“开始”:“\\b(输入输出)\\b”,
“开始捕捉”:{
“1”:{“name”:“keyword.control.direction.whatever”}
},
“结束”:“\\G(?=,)”,
“模式”:[
{
“匹配”:((?:(参数)\\)(?)?
function func_name
(
in param.parameter1
as const pointer global.type,
out param.parameter2
as pointer global.type2
)
return bool
is