]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/velocity.xml
7fa160afce22992b0a6dea385ab4c34fef3796f9
[factor.git] / basis / xmode / modes / velocity.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
4 \r
5 <MODE>\r
6         <PROPS>\r
7                 <PROPERTY NAME="commentStart" VALUE="#*" />\r
8                 <PROPERTY NAME="commentEnd" VALUE="*#" />\r
9                 <PROPERTY NAME="lineComment" VALUE="##" />\r
10                 <!-- Auto indent -->\r
11                 <PROPERTY NAME="indentNextLines" VALUE="^\s*(#(foreach|if|elseif|else))\s*\(.*\)\s*"/>\r
12                 <PROPERTY NAME="unindentThisLine" VALUE="^\s*#(end|elseif|else)\b.*"/>\r
13         </PROPS>\r
14         <RULES IGNORE_CASE="TRUE">\r
15                 <!-- SGML comment -->\r
16                 <SPAN TYPE="COMMENT1">\r
17                         <BEGIN>&lt;!--</BEGIN>\r
18                         <END>--&gt;</END>\r
19                 </SPAN>\r
20 \r
21                 <!-- JavaScript -->\r
22                 <SPAN TYPE="MARKUP" DELEGATE="JAVASCRIPT">\r
23                         <BEGIN>&lt;SCRIPT</BEGIN>\r
24                         <END>&lt;/SCRIPT&gt;</END>\r
25                 </SPAN>\r
26 \r
27                 <!-- stylesheet -->\r
28                 <SPAN TYPE="MARKUP" DELEGATE="CSS">\r
29                         <BEGIN>&lt;STYLE</BEGIN>\r
30                         <END>&lt;/STYLE&gt;</END>\r
31                 </SPAN>\r
32 \r
33                 <!-- DTD instructions -->\r
34                 <SPAN TYPE="KEYWORD2" DELEGATE="xml::DTD-TAGS">\r
35                         <BEGIN>&lt;!</BEGIN>\r
36                         <END>&gt;</END>\r
37                 </SPAN>\r
38 \r
39                 <!-- markup tags -->\r
40                 <SPAN TYPE="MARKUP" DELEGATE="html::TAGS">\r
41                         <BEGIN>&lt;</BEGIN>\r
42                         <END>&gt;</END>\r
43                 </SPAN>\r
44 \r
45                 <!-- SGML entities -->\r
46                 <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">\r
47                         <BEGIN>&amp;</BEGIN>\r
48                         <END>;</END>\r
49                 </SPAN>\r
50                 <IMPORT DELEGATE="VELOCITY" />\r
51         </RULES>\r
52 \r
53         <RULES SET="VELOCITY">\r
54                 <SPAN TYPE="COMMENT2">\r
55                         <BEGIN>#*</BEGIN>\r
56                         <END>*#</END>\r
57                 </SPAN>\r
58 \r
59                 <EOL_SPAN TYPE="COMMENT3">##</EOL_SPAN>\r
60 \r
61                 <SPAN TYPE="KEYWORD3" NO_LINE_BREAK="TRUE">\r
62                         <BEGIN>${</BEGIN>\r
63                         <END>}</END>\r
64                 </SPAN>\r
65 \r
66                 <SEQ_REGEXP HASH_CHAR="$" TYPE="KEYWORD3"\r
67                         >\$!?[A-z][A-z0-9._-]*</SEQ_REGEXP>\r
68 \r
69                 <KEYWORDS>\r
70                         <KEYWORD1>#set</KEYWORD1>\r
71                         <KEYWORD1>#foreach</KEYWORD1>\r
72                         <KEYWORD1>#end</KEYWORD1>\r
73                         <KEYWORD1>#if</KEYWORD1>\r
74                         <KEYWORD1>#else</KEYWORD1>\r
75                         <KEYWORD1>#elseif</KEYWORD1>\r
76                         <KEYWORD1>#parse</KEYWORD1>\r
77                         <KEYWORD1>#macro</KEYWORD1>\r
78                         <KEYWORD1>#stop</KEYWORD1>\r
79                         <KEYWORD1>#include</KEYWORD1>\r
80                 </KEYWORDS>\r
81         </RULES>\r
82 \r
83         <RULES SET="JAVASCRIPT" DEFAULT="MARKUP" IGNORE_CASE="TRUE">\r
84                 <SEQ TYPE="MARKUP" DELEGATE="JAVASCRIPT2">&gt;</SEQ>\r
85                 <!-- handle <SCRIPT SRC="..."> properly -->\r
86                 <SEQ TYPE="MARKUP" DELEGATE="BACK_TO_HTML">SRC=</SEQ>\r
87         </RULES>\r
88 \r
89         <RULES SET="JAVASCRIPT2"\r
90                 ESCAPE="\"\r
91                 IGNORE_CASE="FALSE"\r
92                 HIGHLIGHT_DIGITS="TRUE"\r
93                 DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
94 \r
95                 <IMPORT DELEGATE="VELOCITY" />\r
96                 <IMPORT DELEGATE="javascript::MAIN" />\r
97         </RULES>\r
98 \r
99         <RULES SET="BACK_TO_HTML" DEFAULT="MARKUP">\r
100                 <SEQ TYPE="MARKUP" DELEGATE="MAIN">&gt;</SEQ>\r
101         </RULES>\r
102 \r
103         <RULES SET="CSS" DEFAULT="MARKUP">\r
104                 <SEQ TYPE="MARKUP" DELEGATE="CSS2">&gt;</SEQ>\r
105         </RULES>\r
106 \r
107         <RULES SET="CSS2"\r
108                 IGNORE_CASE="TRUE"\r
109                 HIGHLIGHT_DIGITS="TRUE"\r
110                 DIGIT_RE="[\p{Digit}]+(pt|pc|in|mm|cm|em|ex|px|ms|s|%)"\r
111                 NO_WORD_SEP="-_">\r
112 \r
113                 <IMPORT DELEGATE="VELOCITY" />\r
114                 <IMPORT DELEGATE="css::MAIN" />\r
115         </RULES>\r
116 </MODE>\r