我试图提出一个正则表达式,它将在velocity中标记if语句的无效集合。我希望能够快速突出显示有问题的代码块,否则会导致速度解析错误。我打算将它们放在一个崇高的syantax高亮文件中,因此无效的着色将突出显示这些内部的崇高。
#if(以...开头)
#elseif(任意数量的零,一个或多个)
#else(必须在任何其他之后,零或一个)
#end(必须是最后的,必须存在)
[#if ... #end]
[#if ... #elseif ... #end]
[#if ... #else ... #end]
[#if ... #elseif ... #elseif ... #end]
[#if ... #elseif ... #elseif ... #else ... #end]
[#inline()... #end](这些也会出现)(不确定在其中有其他语句会做什么,我相信速度会对除#end之外的任何内容,作为内联的一部分代码)
[#end]
[ #if ... #end ... #end] *(技术上与上述相同)
[#if ... #if ... #end ]
[#elseif ... #end]
[#else ... #end]
此时我正处于集思广益的角度,我对如何解决这个问题有一个大概的了解,但它足够复杂,以至于我看到各种各样的跳闸点。以上所有内容都会跨越多行,而速度文件会变得非常复杂。这是我的一项首要工作,即在Sublime中为Velocity构建一个完整的“无效”突出显示集,以帮助我的团队限制我们添加到代码中的错误。任何帮助将不胜感激。生病了我在评论中提出的问题。