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