]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/velocity_pure.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / velocity_pure.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
4 \r
5 <!--\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
9  \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
13  \r
14  catalog entry recommended for Velocity Template files:\r
15  \r
16    <MODE NAME="velocity"\r
17          FILE="velocity_pure.xml"\r
18          FILE_NAME_GLOB="*.vm" />\r
19  \r
20  16.01.2012 Robert Schwenn\r
21 -->\r
22 \r
23 <MODE>\r
24 \r
25         <PROPS>\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
32         </PROPS>\r
33         \r
34   <RULES IGNORE_CASE="FALSE">\r
35 \r
36                 <!-- VTL comment -->\r
37                 <SPAN TYPE="COMMENT3">\r
38                         <BEGIN>#**</BEGIN>\r
39                         <END>*#</END>\r
40                 </SPAN>\r
41 \r
42                 <!-- multi-line comment -->\r
43                 <SPAN TYPE="COMMENT1">\r
44                         <BEGIN>#*</BEGIN>\r
45                         <END>*#</END>\r
46                 </SPAN>\r
47 \r
48                 <!--single-line comment -->\r
49     <EOL_SPAN TYPE="COMMENT2">##</EOL_SPAN>\r
50     \r
51                 \r
52                 <!-- String -->\r
53     <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
54                         <BEGIN>"</BEGIN>\r
55                         <END>"</END>\r
56                 </SPAN>\r
57 \r
58                 <!-- Variable name -->\r
59     <SPAN TYPE="FUNCTION" NO_LINE_BREAK="TRUE">\r
60                         <BEGIN>${</BEGIN>\r
61                         <END>}</END>\r
62                 </SPAN>\r
63     <SEQ_REGEXP HASH_CHAR="$" TYPE="FUNCTION">\$!?[A-z][A-z0-9._-]*</SEQ_REGEXP>\r
64 \r
65                 <!-- Embedded Beanshell script -->\r
66     <SPAN TYPE="KEYWORD4" NO_LINE_BREAK="FALSE" DELEGATE="java::MAIN">\r
67                         <BEGIN>#beanshell</BEGIN>\r
68                         <END>#end</END>\r
69                 </SPAN>\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
73                         <END>#end</END>\r
74                 </SPAN_REGEXP>\r
75     -->\r
76 \r
77 \r
78                 <KEYWORDS>\r
79       \r
80       <KEYWORD4>#macro</KEYWORD4>        <!-- Velocimacro block -->\r
81                         <KEYWORD4>#beanshell</KEYWORD4>    <!-- beanshell block (jEdit-specific) -->\r
82       \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
88       \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
96       \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
103       \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
111       \r
112                 </KEYWORDS>\r
113     \r
114         </RULES>\r
115 \r
116 </MODE>\r