1 <?xml version="1.0"?>
\r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
\r
7 <PROPERTY NAME="commentStart" VALUE="/*" />
\r
8 <PROPERTY NAME="commentEnd" VALUE="*/" />
\r
9 <PROPERTY NAME="lineComment" VALUE="//" />
\r
10 <PROPERTY NAME="wordBreakChars" VALUE=",+-=<>/?^&*" />
\r
12 <!-- Auto indent -->
\r
13 <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
\r
14 <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
\r
15 <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
\r
16 <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
\r
17 <PROPERTY NAME="indentNextLine"
\r
18 VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
\r
19 <PROPERTY NAME="unindentThisLine"
\r
20 VALUE="^.*(default:\s*|case.*:.*)$" />
\r
21 <PROPERTY NAME="electricKeys" VALUE=":" />
\r
26 HIGHLIGHT_DIGITS="TRUE"
\r
27 DIGIT_RE="(0x[0-9a-fA-F_]+[uUlL]?|[0-9_]+(e[0-9_]*)?[uUlLdDfF]?)">
\r
29 <!-- Silly comment -->
\r
30 <SEQ TYPE="COMMENT1">/**/</SEQ>
\r
32 <!-- Doxygen comment, Javadoc style -->
\r
33 <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">
\r
38 <!-- Doxygen comment, Qt style -->
\r
39 <SPAN TYPE="COMMENT3" DELEGATE="doxygen::DOXYGEN">
\r
44 <!-- C style comment -->
\r
45 <SPAN TYPE="COMMENT1">
\r
50 <!-- Nested comment -->
\r
51 <SPAN TYPE="COMMENT1" DELEGATE="NESTED_COMMENT">
\r
56 <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
\r
58 <!-- Wysiwyg string literal -->
\r
59 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" NO_ESCAPE="TRUE">
\r
63 <!-- Alternate Wysiwyg string literal -->
\r
64 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" NO_ESCAPE="TRUE">
\r
68 <!-- Doublequoted string literal -->
\r
69 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
\r
73 <!-- Hex string literal -->
\r
74 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
\r
78 <!-- Character literal -->
\r
79 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
\r
84 <SEQ TYPE="OPERATOR">=</SEQ>
\r
85 <SEQ TYPE="OPERATOR">!</SEQ>
\r
86 <SEQ TYPE="OPERATOR">>=</SEQ>
\r
87 <SEQ TYPE="OPERATOR"><=</SEQ>
\r
88 <SEQ TYPE="OPERATOR">+</SEQ>
\r
89 <SEQ TYPE="OPERATOR">-</SEQ>
\r
90 <SEQ TYPE="OPERATOR">/</SEQ>
\r
92 <SEQ TYPE="OPERATOR">*</SEQ>
\r
93 <SEQ TYPE="OPERATOR">></SEQ>
\r
94 <SEQ TYPE="OPERATOR"><</SEQ>
\r
95 <SEQ TYPE="OPERATOR">%</SEQ>
\r
96 <SEQ TYPE="OPERATOR">&</SEQ>
\r
97 <SEQ TYPE="OPERATOR">|</SEQ>
\r
98 <SEQ TYPE="OPERATOR">^</SEQ>
\r
99 <SEQ TYPE="OPERATOR">~</SEQ>
\r
100 <SEQ TYPE="OPERATOR">}</SEQ>
\r
101 <SEQ TYPE="OPERATOR">{</SEQ>
\r
103 <MARK_PREVIOUS TYPE="LABEL" MATCH_TYPE="OPERATOR"
\r
104 AT_WHITESPACE_END="TRUE">:</MARK_PREVIOUS>
\r
106 <!-- Function calls -->
\r
107 <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
\r
108 <SEQ TYPE="OPERATOR">)</SEQ>
\r
110 <!-- Annotation types -->
\r
111 <MARK_FOLLOWING TYPE="KEYWORD4">@</MARK_FOLLOWING>
\r
114 <KEYWORD1>abstract</KEYWORD1>
\r
115 <KEYWORD3>alias</KEYWORD3>
\r
116 <KEYWORD4>align</KEYWORD4>
\r
117 <KEYWORD2>asm</KEYWORD2>
\r
118 <KEYWORD2>assert</KEYWORD2>
\r
119 <KEYWORD3>auto</KEYWORD3>
\r
120 <KEYWORD3>bit</KEYWORD3>
\r
121 <KEYWORD4>body</KEYWORD4>
\r
122 <KEYWORD1>break</KEYWORD1>
\r
123 <KEYWORD3>byte</KEYWORD3>
\r
124 <KEYWORD1>case</KEYWORD1>
\r
125 <KEYWORD3>cast</KEYWORD3>
\r
126 <KEYWORD1>catch</KEYWORD1>
\r
127 <KEYWORD3>cent</KEYWORD3>
\r
128 <KEYWORD3>char</KEYWORD3>
\r
129 <KEYWORD3>class</KEYWORD3>
\r
130 <KEYWORD3>cfloat</KEYWORD3>
\r
131 <KEYWORD3>cdouble</KEYWORD3>
\r
132 <KEYWORD3>creal</KEYWORD3>
\r
133 <INVALID>const</INVALID>
\r
134 <KEYWORD1>continue</KEYWORD1>
\r
135 <KEYWORD3>dchar</KEYWORD3>
\r
136 <KEYWORD2>debug</KEYWORD2>
\r
137 <KEYWORD1>default</KEYWORD1>
\r
138 <KEYWORD4>delegate</KEYWORD4>
\r
139 <KEYWORD1>delete</KEYWORD1>
\r
140 <KEYWORD2>deprecated</KEYWORD2>
\r
141 <KEYWORD1>do</KEYWORD1>
\r
142 <KEYWORD3>double</KEYWORD3>
\r
143 <KEYWORD1>else</KEYWORD1>
\r
144 <KEYWORD3>enum</KEYWORD3>
\r
145 <KEYWORD2>export</KEYWORD2>
\r
146 <KEYWORD2>extern</KEYWORD2>
\r
147 <LITERAL2>false</LITERAL2>
\r
148 <KEYWORD1>final</KEYWORD1>
\r
149 <KEYWORD1>finally</KEYWORD1>
\r
150 <KEYWORD3>float</KEYWORD3>
\r
151 <KEYWORD1>for</KEYWORD1>
\r
152 <KEYWORD1>foreach</KEYWORD1>
\r
153 <KEYWORD4>function</KEYWORD4>
\r
154 <INVALID>goto</INVALID>
\r
155 <KEYWORD3>idouble</KEYWORD3>
\r
156 <KEYWORD1>if</KEYWORD1>
\r
157 <KEYWORD3>ifloat</KEYWORD3>
\r
158 <KEYWORD2>import</KEYWORD2>
\r
159 <INVALID>in</INVALID>
\r
160 <INVALID>inout</INVALID>
\r
161 <KEYWORD3>int</KEYWORD3>
\r
162 <KEYWORD2>interface</KEYWORD2>
\r
163 <KEYWORD2>invariant</KEYWORD2>
\r
164 <KEYWORD3>ireal</KEYWORD3>
\r
165 <OPERATOR>is</OPERATOR>
\r
166 <KEYWORD3>long</KEYWORD3>
\r
167 <KEYWORD4>module</KEYWORD4>
\r
168 <KEYWORD1>new</KEYWORD1>
\r
169 <LITERAL2>null</LITERAL2>
\r
170 <INVALID>out</INVALID>
\r
171 <KEYWORD4>override</KEYWORD4>
\r
172 <KEYWORD2>package</KEYWORD2>
\r
173 <KEYWORD2>pragma</KEYWORD2>
\r
174 <KEYWORD1>private</KEYWORD1>
\r
175 <KEYWORD1>protected</KEYWORD1>
\r
176 <KEYWORD1>public</KEYWORD1>
\r
177 <KEYWORD3>real</KEYWORD3>
\r
178 <KEYWORD1>return</KEYWORD1>
\r
179 <KEYWORD3>short</KEYWORD3>
\r
180 <KEYWORD1>static</KEYWORD1>
\r
181 <KEYWORD3>struct</KEYWORD3>
\r
182 <LITERAL2>super</LITERAL2>
\r
183 <KEYWORD1>switch</KEYWORD1>
\r
184 <KEYWORD1>synchronized</KEYWORD1>
\r
185 <KEYWORD3>template</KEYWORD3>
\r
186 <LITERAL2>this</LITERAL2>
\r
187 <KEYWORD1>throw</KEYWORD1>
\r
188 <LITERAL2>true</LITERAL2>
\r
189 <KEYWORD1>try</KEYWORD1>
\r
190 <KEYWORD3>typedef</KEYWORD3>
\r
191 <KEYWORD1>typeof</KEYWORD1>
\r
192 <KEYWORD3>ubyte</KEYWORD3>
\r
193 <KEYWORD3>ucent</KEYWORD3>
\r
194 <KEYWORD3>uint</KEYWORD3>
\r
195 <KEYWORD3>ulong</KEYWORD3>
\r
196 <KEYWORD3>union</KEYWORD3>
\r
197 <KEYWORD2>unittest</KEYWORD2>
\r
198 <KEYWORD3>ushort</KEYWORD3>
\r
199 <KEYWORD2>version</KEYWORD2>
\r
200 <KEYWORD3>void</KEYWORD3>
\r
201 <KEYWORD1>volatile</KEYWORD1>
\r
202 <KEYWORD3>wchar</KEYWORD3>
\r
203 <KEYWORD1>while</KEYWORD1>
\r
204 <KEYWORD2>with</KEYWORD2>
\r
207 <RULES SET="NESTED_COMMENT" DEFAULT="COMMENT1" ESCAPE="\">
\r
208 <SPAN TYPE="COMMENT1" DELEGATE="NESTED_COMMENT">
\r