至于{
, }
and [
, ]
and (
, )
, 我真的很希望能够定义syntax region
for <
,>
用于 C++ 模板用法,如下所示:
a<b>
但是,有没有办法创建这样一个语法区域而不会与以下内容发生冲突:
if( a < b<c>::d )
第一个<
显然是“小于”运算符,应该作为模板参数区域的开始而被丢弃。
我尝试使用多个选项,但无法使其工作。尝试使用复杂的正则表达式来识别模板 args 区域并且不少于操作似乎确实是不可能的,它只能通过使用嵌套自引用模式检查平衡对来工作。