]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/icon.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / icon.xml
1 <?xml version="1.0"?>
2 <!DOCTYPE MODE SYSTEM "xmode.dtd">
3
4 <!-- Icon mode by Silas Smith (smiths@cs.arizona.edu) -->
5 <!-- Updated 08/07/2003 -->
6 <MODE>
7         <PROPS>
8                 <PROPERTY NAME="lineComment" VALUE="#" />
9                 <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
10                 <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
11                 <PROPERTY NAME="wordBreakChars" VALUE="|.\\:,+-*/=?^!@%&lt;&gt;&amp;" />
12                 <PROPERTY NAME="contextInsensitive" VALUE="true" />
13         </PROPS>
14         <RULES IGNORE_CASE="FALSE"
15             HIGHLIGHT_DIGITS="TRUE"
16             DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">
17                 <!-- comments -->
18                 <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>
19
20                 <!-- string literals -->
21                 <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
22                         <BEGIN>"</BEGIN>
23                         <END>"</END>
24                 </SPAN>
25
26                 <!-- cset literals -->
27                 <SPAN TYPE="LITERAL2" ESCAPE="\" NO_LINE_BREAK="TRUE">
28                         <BEGIN>'</BEGIN>
29                         <END>'</END>
30                 </SPAN>
31
32                 <SEQ TYPE="OPERATOR">~===</SEQ>
33                 <SEQ TYPE="OPERATOR">===</SEQ>
34                 <SEQ TYPE="OPERATOR">|||</SEQ> <!-- list concatenation -->
35
36                 <!-- lexical operators -->
37                 <SEQ TYPE="OPERATOR">&gt;&gt;=</SEQ> <!-- ">>=" -->
38                 <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ> <!-- ">>" -->
39                 <SEQ TYPE="OPERATOR">&lt;&lt;=</SEQ> <!-- "<<=" -->
40                 <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ> <!-- "<<" -->
41                 <SEQ TYPE="OPERATOR">~==</SEQ>
42                 <SEQ TYPE="OPERATOR">==</SEQ>
43                 <SEQ TYPE="OPERATOR">||</SEQ>
44
45                 <!-- set operators -->
46                 <SEQ TYPE="OPERATOR">++</SEQ> <!-- union -->
47                 <SEQ TYPE="OPERATOR">**</SEQ> <!-- intersection -->
48                 <SEQ TYPE="OPERATOR">--</SEQ> <!-- difference -->
49
50                 <SEQ TYPE="OPERATOR">&lt;-&gt;</SEQ> <!-- "<->" -->
51                 <SEQ TYPE="OPERATOR">&lt;-</SEQ> <!-- "<-" -->
52                 <SEQ TYPE="OPERATOR">op:=</SEQ>
53                 <SEQ TYPE="OPERATOR">&lt;=</SEQ>
54                 <SEQ TYPE="OPERATOR">&lt;</SEQ>
55                 <SEQ TYPE="OPERATOR">&gt;=</SEQ>
56                 <SEQ TYPE="OPERATOR">&gt;</SEQ>
57                 <SEQ TYPE="OPERATOR">~=</SEQ>
58                 <SEQ TYPE="OPERATOR">:=:</SEQ>
59                 <SEQ TYPE="OPERATOR">:=</SEQ>
60                 <SEQ TYPE="OPERATOR">-:</SEQ>
61                 <SEQ TYPE="OPERATOR">+:</SEQ>
62
63                 <SEQ TYPE="OPERATOR">~</SEQ>
64                 <SEQ TYPE="OPERATOR">:</SEQ>
65                 <SEQ TYPE="OPERATOR">!</SEQ>
66                 <SEQ TYPE="OPERATOR">|</SEQ>
67                 <SEQ TYPE="OPERATOR">&amp;</SEQ>
68                 <SEQ TYPE="OPERATOR">not</SEQ>
69                 <SEQ TYPE="OPERATOR">*</SEQ>
70                 <SEQ TYPE="OPERATOR">?</SEQ>
71                 <SEQ TYPE="OPERATOR">@</SEQ>
72
73                 <!-- numerical operators -->
74                                 <!-- NOTE: '*' defined above -->
75                 <SEQ TYPE="OPERATOR">^</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
82                 <!-- Function calls -->
83                 <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
84                 <SEQ TYPE="OPERATOR">)</SEQ>
85
86                 <KEYWORDS>
87                         <KEYWORD1>by</KEYWORD1>
88                         <KEYWORD1>case</KEYWORD1>
89                         <KEYWORD1>create</KEYWORD1>
90                         <KEYWORD1>default</KEYWORD1>
91                         <KEYWORD1>do</KEYWORD1>
92                         <KEYWORD1>else</KEYWORD1>
93                         <KEYWORD1>every</KEYWORD1>
94                         <KEYWORD1>if</KEYWORD1>
95                         <KEYWORD1>initial</KEYWORD1>
96                         <KEYWORD1>next</KEYWORD1>
97                         <KEYWORD1>of</KEYWORD1>
98                         <KEYWORD1>repeat</KEYWORD1>
99                         <KEYWORD1>then</KEYWORD1>
100                         <KEYWORD1>to</KEYWORD1>
101                         <KEYWORD1>until</KEYWORD1>
102                         <KEYWORD1>while</KEYWORD1>
103
104                         <KEYWORD2>break</KEYWORD2>
105                         <KEYWORD2>end</KEYWORD2>
106                         <KEYWORD2>fail</KEYWORD2>
107                         <KEYWORD2>global</KEYWORD2>
108                         <KEYWORD2>invocable</KEYWORD2>
109                         <KEYWORD2>link</KEYWORD2>
110                         <KEYWORD2>local</KEYWORD2>
111                         <KEYWORD2>procedure</KEYWORD2>
112                         <KEYWORD2>record</KEYWORD2>
113                         <KEYWORD2>return</KEYWORD2>
114                         <KEYWORD2>static</KEYWORD2>
115                         <KEYWORD2>suspend</KEYWORD2>
116
117                         <KEYWORD3>&amp;allocated</KEYWORD3>
118                         <KEYWORD3>&amp;ascii</KEYWORD3>
119                         <KEYWORD3>&amp;clock</KEYWORD3>
120                         <KEYWORD3>&amp;collections</KEYWORD3>
121                         <KEYWORD3>&amp;cset</KEYWORD3>
122                         <KEYWORD3>&amp;current</KEYWORD3>
123                         <KEYWORD3>&amp;date</KEYWORD3>
124                         <KEYWORD3>&amp;dateline</KEYWORD3>
125                         <KEYWORD3>&amp;digits</KEYWORD3>
126                         <KEYWORD3>&amp;dump</KEYWORD3>
127                         <KEYWORD3>&amp;e</KEYWORD3>
128                         <KEYWORD3>&amp;error</KEYWORD3>
129                         <KEYWORD3>&amp;errornumber</KEYWORD3>
130                         <KEYWORD3>&amp;errortext</KEYWORD3>
131                         <KEYWORD3>&amp;errorvalue</KEYWORD3>
132                         <KEYWORD3>&amp;errout</KEYWORD3>
133                         <KEYWORD3>&amp;fail</KEYWORD3>
134                         <KEYWORD3>&amp;features</KEYWORD3>
135                         <KEYWORD3>&amp;file</KEYWORD3>
136                         <KEYWORD3>&amp;host</KEYWORD3>
137                         <KEYWORD3>&amp;input</KEYWORD3>
138                         <KEYWORD3>&amp;lcase</KEYWORD3>
139                         <KEYWORD3>&amp;letters</KEYWORD3>
140                         <KEYWORD3>&amp;level</KEYWORD3>
141                         <KEYWORD3>&amp;line</KEYWORD3>
142                         <KEYWORD3>&amp;main</KEYWORD3>
143                         <KEYWORD3>&amp;null</KEYWORD3>
144                         <KEYWORD3>&amp;output</KEYWORD3>
145                         <KEYWORD3>&amp;phi</KEYWORD3>
146                         <KEYWORD3>&amp;pi</KEYWORD3>
147                         <KEYWORD3>&amp;pos</KEYWORD3>
148                         <KEYWORD3>&amp;progname</KEYWORD3>
149                         <KEYWORD3>&amp;random</KEYWORD3>
150                         <KEYWORD3>&amp;regions</KEYWORD3>
151                         <KEYWORD3>&amp;source</KEYWORD3>
152                         <KEYWORD3>&amp;storage</KEYWORD3>
153                         <KEYWORD3>&amp;subject</KEYWORD3>
154                         <KEYWORD3>&amp;time</KEYWORD3>
155                         <KEYWORD3>&amp;trace</KEYWORD3>
156                         <KEYWORD3>&amp;ucase</KEYWORD3>
157                         <KEYWORD3>&amp;version</KEYWORD3>
158
159                         <!-- preprocessor directives -->
160                         <KEYWORD3>$define</KEYWORD3>
161                         <KEYWORD3>$else</KEYWORD3>
162                         <KEYWORD3>$endif</KEYWORD3>
163                         <KEYWORD3>$error</KEYWORD3>
164                         <KEYWORD3>$ifdef</KEYWORD3>
165                         <KEYWORD3>$ifndef</KEYWORD3>
166                         <KEYWORD3>$include</KEYWORD3>
167                         <KEYWORD3>$line</KEYWORD3>
168                         <KEYWORD3>$undef</KEYWORD3>
169
170                         <!-- predefined prepocessor symbols -->
171                         <KEYWORD3>_MACINTOSH</KEYWORD3>
172                         <KEYWORD3>_MS_WINDOWS_NT</KEYWORD3>
173                         <KEYWORD3>_MS_WINDOWS</KEYWORD3>
174                         <KEYWORD3>_MSDOS_386</KEYWORD3>
175                         <KEYWORD3>_MSDOS</KEYWORD3>
176                         <KEYWORD3>_OS2</KEYWORD3>
177                         <KEYWORD3>_PIPES</KEYWORD3>
178                         <KEYWORD3>_PRESENTATION_MGR</KEYWORD3>
179                         <KEYWORD3>_SYSTEM_FUNCTION</KEYWORD3>
180                         <KEYWORD3>_UNIX</KEYWORD3>
181                         <KEYWORD3>_VMS</KEYWORD3>
182                         <KEYWORD3>_WINDOW_FUNCTIONS</KEYWORD3>
183                         <KEYWORD3>_X_WINDOW_SYSTEM</KEYWORD3>
184
185                         <KEYWORD4>co-expression</KEYWORD4>
186                         <KEYWORD4>cset</KEYWORD4>
187                         <KEYWORD4>file</KEYWORD4>
188                         <KEYWORD4>integer</KEYWORD4>
189                         <KEYWORD4>list</KEYWORD4>
190                         <KEYWORD4>null</KEYWORD4>
191                         <KEYWORD4>real</KEYWORD4>
192                         <KEYWORD4>set</KEYWORD4>
193                         <KEYWORD4>string</KEYWORD4>
194                         <KEYWORD4>table</KEYWORD4>
195                         <KEYWORD4>window</KEYWORD4>
196                 </KEYWORDS>
197         </RULES>
198 </MODE>
199