1 <?xml version="1.0"?>
\r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
\r
6 Mode definition for pure Velocity Template Language (VTL) highlighting
\r
7 - In contrast to velocity.xml, there is no sgml highlighting!
\r
8 - valid for jEdit 4.2, 4.3, 4.4 and 4.5.
\r
10 Extensions for jEdit's Templates Plugin 4.0.0 are also highlighted:
\r
11 - Special directives and variables added.
\r
12 - Embedded Beanshell scripts are highlighted as java.
\r
14 catalog entry recommended for Velocity Template files:
\r
16 <MODE NAME="velocity"
\r
17 FILE="velocity_pure.xml"
\r
18 FILE_NAME_GLOB="*.vm" />
\r
20 16.01.2012 Robert Schwenn
\r
26 <PROPERTY NAME="commentStart" VALUE="#*" />
\r
27 <PROPERTY NAME="commentEnd" VALUE="*#" />
\r
28 <PROPERTY NAME="lineComment" VALUE="##" />
\r
29 <!-- Auto indent -->
\r
30 <PROPERTY NAME="indentNextLines" VALUE="^\s*(#(foreach|if|elseif|else|beanshell|macro))\s*\(.*\)\s*"/>
\r
31 <PROPERTY NAME="unindentThisLine" VALUE="^\s*#(end|elseif|else)\b.*"/>
\r
34 <RULES IGNORE_CASE="FALSE">
\r
36 <!-- VTL comment -->
\r
37 <SPAN TYPE="COMMENT3">
\r
42 <!-- multi-line comment -->
\r
43 <SPAN TYPE="COMMENT1">
\r
48 <!--single-line comment -->
\r
49 <EOL_SPAN TYPE="COMMENT2">##</EOL_SPAN>
\r
53 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
\r
58 <!-- Variable name -->
\r
59 <SPAN TYPE="FUNCTION" NO_LINE_BREAK="TRUE">
\r
63 <SEQ_REGEXP HASH_CHAR="$" TYPE="FUNCTION">\$!?[A-z][A-z0-9._-]*</SEQ_REGEXP>
\r
65 <!-- Embedded Beanshell script -->
\r
66 <SPAN TYPE="KEYWORD4" NO_LINE_BREAK="FALSE" DELEGATE="java::MAIN">
\r
67 <BEGIN>#beanshell</BEGIN>
\r
70 <!-- More correct, but the whole line after "#beanshell" is highlighted in one color:
\r
71 <SPAN_REGEXP HASH_CHAR="#" TYPE="KEYWORD4" NO_LINE_BREAK="FALSE" DELEGATE="java::MAIN">
\r
72 <BEGIN>#beanshell\s*\((true|false)?\)\s*</BEGIN>
\r
80 <KEYWORD4>#macro</KEYWORD4> <!-- Velocimacro block -->
\r
81 <KEYWORD4>#beanshell</KEYWORD4> <!-- beanshell block (jEdit-specific) -->
\r
83 <!-- Velocity directives, General -->
\r
84 <KEYWORD1>#set</KEYWORD1>
\r
85 <KEYWORD1>#parse</KEYWORD1>
\r
86 <KEYWORD1>#include</KEYWORD1>
\r
87 <KEYWORD1>#stop</KEYWORD1>
\r
89 <!-- Velocity directives, Flow control -->
\r
90 <KEYWORD3>#if</KEYWORD3>
\r
91 <KEYWORD3>#else</KEYWORD3>
\r
92 <KEYWORD3>#elseif</KEYWORD3>
\r
93 <KEYWORD3>#foreach</KEYWORD3>
\r
94 <KEYWORD3>in</KEYWORD3>
\r
95 <KEYWORD3>#end</KEYWORD3>
\r
97 <!-- Velocity directives, jEdit-specific -->
\r
98 <LITERAL2>#prompt</LITERAL2>
\r
99 <LITERAL2>#yes_no</LITERAL2>
\r
100 <LITERAL2>#today</LITERAL2>
\r
101 <LITERAL2>#caret</LITERAL2>
\r
102 <LITERAL2>#buffermode</LITERAL2>
\r
104 <!-- jEdit-specific variables -->
\r
105 <KEYWORD2>_jeditIndentation</KEYWORD2>
\r
106 <KEYWORD2>_jeditSelection</KEYWORD2>
\r
107 <KEYWORD2>_jeditTab</KEYWORD2>
\r
108 <KEYWORD2>buffer</KEYWORD2>
\r
109 <KEYWORD2>textarea</KEYWORD2>
\r
110 <KEYWORD2>view</KEYWORD2>
\r