Velocity - if else elseif end - parity - Regex Matching Invalid sets

时间:2017-03-29 23:57:10

标签: syntax-highlighting velocity

我试图提出一个正则表达式,它将在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构建一个完整的“无效”突出显示集,以帮助我的团队限制我们添加到代码中的错误。任何帮助将不胜感激。生病了我在评论中提出的问题。

0 个答案:

没有答案