BOO-995, BOO-996: Fix one file that was missed in previous commit.
[boo.git] / extras / boo-jedit41.xml
blob180f237d4a3e1707ecb03591cc934d88ef81ab2c
1 <?xml version="1.0"?>
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
5 <!-- boo mode, by Rodrigo B. de Oliveira based on python mode -->
6 <!-- by Slava Pestov. Based on PythonTokenMarker by -->
7 <!-- Jonathan Revusky -->
9 <!--
10 JEdit Catalog Entry: <MODE NAME="boo" FILE="boo-jedit41.xml" FILE_NAME_GLOB="*.boo" />
11 -->
13 <MODE>
14         <PROPS>
15                 <PROPERTY NAME="indentNextLines" VALUE="\s*[^#]{3,}:\s*(#.*)?" />
16                 <PROPERTY NAME="commentStart" VALUE="/*" />
17                 <PROPERTY NAME="commentEnd" VALUE="*/" />               
18                 <PROPERTY NAME="lineComment" VALUE="(#|//)" />
19                 <PROPERTY NAME="wordBreakChars" VALUE="([{" />
20         </PROPS>        
21         <RULES
22                 ESCAPE="\" IGNORE_CASE="FALSE"
23                 HIGHLIGHT_DIGITS="TRUE"
24                 DIGIT_RE="(\d(\d|_)*(\.\d(\d|_)*)?((e|E)(\+|-)?\d(\d|_)*)?(\w+)?)|(0x([A-Fa-f]|\d)+(l|L)?)"
25                 >
26                 <!-- Comment -->
27                 <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>
28                 <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>
29                 <SPAN TYPE="COMMENT2">
30                         <BEGIN>/*</BEGIN>
31                         <END>*/</END>
32                 </SPAN>
34                 <!-- Triple-quotes -->
35                 <SPAN TYPE="LITERAL1" DELEGATE="string">
36                         <BEGIN>"""</BEGIN>
37                         <END>"""</END>
38                 </SPAN>
40                 <SPAN TYPE="LITERAL2">
41                         <BEGIN>'''</BEGIN>
42                         <END>'''</END>
43                 </SPAN>
45                 <!-- Standard literals -->
46                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" DELEGATE="string">
47                         <BEGIN>"</BEGIN>
48                         <END>"</END>
49                 </SPAN>
50                 <SPAN TYPE="LITERAL2" NO_LINE_BREAK="TRUE">
51                         <BEGIN>'</BEGIN>
52                         <END>'</END>
53                 </SPAN>
54                 
55                 <SEQ_REGEXP TYPE="MARKUP"
56                         HASH_CHAR="/"
57                         AT_WORD_START="TRUE"
58                 >/[^[:blank:]]*?[^\\]/</SEQ_REGEXP>
60                 
61                 <!--
62                 <SEQ TYPE="OPERATOR">:</SEQ>
63                 <SEQ TYPE="OPERATOR">[</SEQ>
64                 <SEQ TYPE="OPERATOR">]</SEQ>
65                 <SEQ TYPE="OPERATOR">{</SEQ>
66                 <SEQ TYPE="OPERATOR">}</SEQ>
67                 <SEQ TYPE="OPERATOR">(</SEQ>
68                 <SEQ TYPE="OPERATOR">)</SEQ>
69                 -->
70                 <SEQ TYPE="OPERATOR">=~</SEQ>
71                 <SEQ TYPE="OPERATOR">=</SEQ>
72                 <SEQ TYPE="OPERATOR">!=</SEQ>
73                 <SEQ TYPE="OPERATOR">!</SEQ>
74                 <SEQ TYPE="OPERATOR">&gt;=</SEQ>
75                 <SEQ TYPE="OPERATOR">&lt;=</SEQ>
76                 <SEQ TYPE="OPERATOR">++</SEQ>
77                 <SEQ TYPE="OPERATOR">--</SEQ>           
78                 <SEQ TYPE="OPERATOR">+</SEQ>
79                 <SEQ TYPE="OPERATOR">-</SEQ>
80                 <SEQ TYPE="OPERATOR">+=</SEQ>
81                 <SEQ TYPE="OPERATOR">-=</SEQ>
82                 <SEQ TYPE="OPERATOR">/</SEQ>
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">&gt;</SEQ>
89                 <SEQ TYPE="OPERATOR">&lt;</SEQ>
90                 <SEQ TYPE="OPERATOR">%</SEQ>
91                 <SEQ TYPE="OPERATOR">&amp;</SEQ>
92                 <SEQ TYPE="OPERATOR">|</SEQ>
93                 <SEQ TYPE="OPERATOR">^</SEQ>
95                 <MARK_PREVIOUS TYPE="FUNCTION"
96                         EXCLUDE_MATCH="TRUE">(</MARK_PREVIOUS>
98                 <KEYWORDS>
99                         <!--  Reserved Words  -->
100                         <KEYWORD1>abstract</KEYWORD1>
101                         <KEYWORD1>and</KEYWORD1>
102                         <KEYWORD1>as</KEYWORD1>                 
103                         <KEYWORD1>break</KEYWORD1>
104                         <KEYWORD1>callable</KEYWORD1>
105                         <KEYWORD1>cast</KEYWORD1>                       
106                         <KEYWORD1>class</KEYWORD1>                      
107                         <KEYWORD1>const</KEYWORD1>
108                         <KEYWORD1>constructor</KEYWORD1>
109                         <KEYWORD1>destructor</KEYWORD1>
110                         <KEYWORD1>continue</KEYWORD1>
111                         <KEYWORD1>def</KEYWORD1>
112                         <KEYWORD1>do</KEYWORD1>
113                         <KEYWORD1>elif</KEYWORD1>
114                         <KEYWORD1>else</KEYWORD1>
115                         <KEYWORD1>end</KEYWORD1>
116                         <KEYWORD1>enum</KEYWORD1>
117                         <KEYWORD1>ensure</KEYWORD1>
118                         <KEYWORD1>event</KEYWORD1>
119                         <KEYWORD1>except</KEYWORD1>
120                         <KEYWORD1>final</KEYWORD1>
121                         <KEYWORD1>for</KEYWORD1>
122                         <KEYWORD1>from</KEYWORD1>
123                         <KEYWORD1>given</KEYWORD1>
124                         <KEYWORD1>get</KEYWORD1>
125                         <KEYWORD1>if</KEYWORD1>                 
126                         <KEYWORD1>interface</KEYWORD1>
127                         <KEYWORD1>in</KEYWORD1>
128                         <KEYWORD1>include</KEYWORD1>
129                         <KEYWORD1>import</KEYWORD1>
130                         <KEYWORD1>is</KEYWORD1>
131                         <KEYWORD1>isa</KEYWORD1>
132                         <KEYWORD1>mixin</KEYWORD1>
133                         <KEYWORD1>partial</KEYWORD1>
134                         <KEYWORD1>namespace</KEYWORD1>
135                         <KEYWORD1>not</KEYWORD1>
136                         <KEYWORD1>of</KEYWORD1>
137                         <KEYWORD1>or</KEYWORD1>
138                         <KEYWORD1>otherwise</KEYWORD1>
139                         <KEYWORD1>override</KEYWORD1>
140                         <KEYWORD1>pass</KEYWORD1>
141                         <KEYWORD1>raise</KEYWORD1>
142                         <KEYWORD1>ref</KEYWORD1>
143                         <KEYWORD1>retry</KEYWORD1>
144                         <KEYWORD1>self</KEYWORD1>
145                         <KEYWORD1>struct</KEYWORD1>                     
146                         <KEYWORD1>return</KEYWORD1>
147                         <KEYWORD1>set</KEYWORD1>
148                         <KEYWORD1>success</KEYWORD1>
149                         <KEYWORD1>try</KEYWORD1>
150                         <KEYWORD1>transient</KEYWORD1>
151                         <KEYWORD1>virtual</KEYWORD1>
152                         <KEYWORD1>while</KEYWORD1>
153                         <KEYWORD1>when</KEYWORD1>                       
154                         <KEYWORD1>unless</KEYWORD1>
155                         <KEYWORD1>yield</KEYWORD1>
156                         <KEYWORD1>ref</KEYWORD1>
157                         
158                         <KEYWORD1>public</KEYWORD1>
159                         <KEYWORD1>protected</KEYWORD1>
160                         <KEYWORD1>private</KEYWORD1>
161                         <KEYWORD1>internal</KEYWORD1>
162                         <KEYWORD1>static</KEYWORD1>
163                         
164                         <KEYWORD2>bool</KEYWORD2>
165                         <KEYWORD2>regex</KEYWORD2>
166                         <KEYWORD2>string</KEYWORD2>
167                         <KEYWORD2>object</KEYWORD2>
168                         <KEYWORD2>duck</KEYWORD2>
169                         <KEYWORD2>byte</KEYWORD2>
170                         <KEYWORD2>sbyte</KEYWORD2>
171                         <KEYWORD2>short</KEYWORD2>
172                         <KEYWORD2>ushort</KEYWORD2>
173                         <KEYWORD2>int</KEYWORD2>
174                         <KEYWORD2>char</KEYWORD2>
175                         <KEYWORD2>uint</KEYWORD2>
176                         <KEYWORD2>long</KEYWORD2>
177                         <KEYWORD2>ulong</KEYWORD2>
178                         <KEYWORD2>single</KEYWORD2>
179                         <KEYWORD2>double</KEYWORD2>
180                         <KEYWORD2>decimal</KEYWORD2>
181                         <KEYWORD2>date</KEYWORD2>
182                         <KEYWORD2>timespan</KEYWORD2>
183                         <KEYWORD2>void</KEYWORD2>
185                         <!-- builtins -->                       
186                         <KEYWORD1>iif</KEYWORD1>
187                         <KEYWORD3>len</KEYWORD3>
188                         <KEYWORD3>__addressof__</KEYWORD3>                      
189                         <KEYWORD3>__eval__</KEYWORD3>
190                         <KEYWORD3>__switch__</KEYWORD3>
191                         <KEYWORD3>typeof</KEYWORD3>
192                         <KEYWORD3>assert</KEYWORD3>
193                         
194                         <KEYWORD3>array</KEYWORD3>
195                         <KEYWORD3>matrix</KEYWORD3>
197                         <KEYWORD3>print</KEYWORD3>
198                         <KEYWORD3>gets</KEYWORD3>
199                         <KEYWORD3>prompt</KEYWORD3>
200                         <KEYWORD3>enumerate</KEYWORD3>
201                         <KEYWORD3>zip</KEYWORD3>
202                         <KEYWORD3>filter</KEYWORD3>
203                         <KEYWORD3>map</KEYWORD3>
204                         <KEYWORD3>join</KEYWORD3>
205                         <KEYWORD3>cat</KEYWORD3>
206                         <KEYWORD3>iterator</KEYWORD3>
207                         <KEYWORD3>shell</KEYWORD3>
208                         <KEYWORD3>abs</KEYWORD3>
209                         
210                         <!-- standard macros and attributes -->
211                         <KEYWORD3>using</KEYWORD3>
212                         <KEYWORD3>lock</KEYWORD3>
213                         <KEYWORD3>required</KEYWORD3>
214                         <KEYWORD3>getter</KEYWORD3>
215                         <KEYWORD3>setter</KEYWORD3>
216                         <KEYWORD3>property</KEYWORD3>
217                         <KEYWORD3>checked</KEYWORD3>
218                         <KEYWORD3>unchecked</KEYWORD3>
219                         <KEYWORD3>rawArrayIndexing</KEYWORD3>
220                         <KEYWORD3>normalArrayIndexing</KEYWORD3>
221                         <KEYWORD3>yieldAll</KEYWORD3>
223                         <!-- exceptions -->
224                         <!-- KEYWORD3>ArithmeticError</KEYWORD3 -->
225                         
226                         <LITERAL2>false</LITERAL2>
227                         <LITERAL2>null</LITERAL2>
228                         <LITERAL2>self</LITERAL2>
229                         <KEYWORD2>super</KEYWORD2>
230                         <LITERAL2>true</LITERAL2>
231                 </KEYWORDS>
232         </RULES>
233         
234         <RULES SET="string" DEFAULT="LITERAL1">
235                 <SPAN TYPE="LITERAL2">
236                         <BEGIN>${</BEGIN>
237                         <END>}</END>
238                 </SPAN>
239         </RULES>
240 </MODE>