]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/ssharp.xml
019a6fd1cf360cce54b5f953cfb125a447695e45
[factor.git] / basis / xmode / modes / ssharp.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
4 \r
5 <!-- S# mode, by Barry Carr (Ixian Software Components Ltd)\r
6      based on Marcio Marchini mqm@magma.ca Smalltalk mode -->\r
7 \r
8 <MODE>\r
9         <PROPS>\r
10         <PROPERTY NAME="lineComment" VALUE="#" />\r
11                 <PROPERTY NAME="commentStart" VALUE="&quot;" />\r
12                 <PROPERTY NAME="commentEnd" VALUE="&quot;" />\r
13                 <PROPERTY NAME="indentOpenBrackets" VALUE="[" />\r
14                 <PROPERTY NAME="indentCloseBrackets" VALUE="]" />\r
15 \r
16         </PROPS>\r
17         <RULES ESCAPE="\" IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">\r
18                 <!-- Standard literals -->\r
19                 <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">\r
20                         <BEGIN>'</BEGIN>\r
21                         <END>'</END>\r
22                 </SPAN>\r
23 \r
24         <EOL_SPAN TYPE="COMMENT3">#</EOL_SPAN>\r
25         <EOL_SPAN TYPE="COMMENT2">""</EOL_SPAN>\r
26 \r
27                 <SPAN TYPE="COMMENT1">\r
28                         <BEGIN>"</BEGIN>\r
29                         <END>"</END>\r
30                 </SPAN>\r
31 \r
32         <SPAN TYPE="LITERAL2" >\r
33             <BEGIN>«</BEGIN>\r
34             <END>»</END>\r
35         </SPAN>\r
36 \r
37         <SEQ TYPE="OPERATOR">(</SEQ>\r
38         <SEQ TYPE="OPERATOR">)</SEQ>\r
39         <SEQ TYPE="OPERATOR">{</SEQ>\r
40         <SEQ TYPE="OPERATOR">}</SEQ>\r
41                 <SEQ TYPE="OPERATOR">:=</SEQ>\r
42                 <SEQ TYPE="OPERATOR">_</SEQ>\r
43                 <SEQ TYPE="OPERATOR">=</SEQ>\r
44                 <SEQ TYPE="OPERATOR">==</SEQ>\r
45                 <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
46                 <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
47                 <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
48                 <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
49                 <SEQ TYPE="OPERATOR">+</SEQ>\r
50                 <SEQ TYPE="OPERATOR">-</SEQ>\r
51                 <SEQ TYPE="OPERATOR">/</SEQ>\r
52         <SEQ TYPE="OPERATOR">//</SEQ>\r
53         <SEQ TYPE="OPERATOR">\\</SEQ>\r
54                 <SEQ TYPE="OPERATOR">*</SEQ>\r
55         <SEQ TYPE="OPERATOR">**</SEQ>\r
56         <SEQ TYPE="OPERATOR">#</SEQ>\r
57         <SEQ TYPE="OPERATOR">^</SEQ>\r
58         <SEQ TYPE="OPERATOR">^^</SEQ>\r
59         <SEQ TYPE="OPERATOR">;</SEQ>\r
60         <SEQ TYPE="OPERATOR">.</SEQ>\r
61         <SEQ TYPE="OPERATOR">-&gt;</SEQ>\r
62         <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>\r
63         <SEQ TYPE="OPERATOR">||</SEQ>\r
64         <SEQ TYPE="OPERATOR">^|</SEQ>\r
65         <SEQ TYPE="OPERATOR">!=</SEQ>\r
66         <SEQ TYPE="OPERATOR">~=</SEQ>\r
67         <SEQ TYPE="OPERATOR">!==</SEQ>\r
68         <SEQ TYPE="OPERATOR">~~</SEQ>\r
69 \r
70                 <MARK_PREVIOUS TYPE="KEYWORD3" MATCH_TYPE="OPERATOR">:</MARK_PREVIOUS>\r
71                 <MARK_FOLLOWING TYPE="LABEL" MATCH_TYPE="OPERATOR">#</MARK_FOLLOWING>\r
72                 <MARK_FOLLOWING TYPE="LITERAL1" MATCH_TYPE="OPERATOR">$</MARK_FOLLOWING>\r
73 \r
74                 <KEYWORDS>\r
75                         <!-- Constants -->\r
76             <KEYWORD1>disable</KEYWORD1>\r
77             <KEYWORD1>enable</KEYWORD1>\r
78             <KEYWORD1>no</KEYWORD1>\r
79             <KEYWORD1>off</KEYWORD1>\r
80             <KEYWORD1>on</KEYWORD1>\r
81                         <KEYWORD1>yes</KEYWORD1>\r
82 \r
83                         <!-- Reserved identifiers -->\r
84                         <KEYWORD2>self</KEYWORD2>\r
85                         <KEYWORD2>true</KEYWORD2>\r
86             <KEYWORD2>false</KEYWORD2>\r
87             <KEYWORD2>nil</KEYWORD2>\r
88             <KEYWORD2>super</KEYWORD2>\r
89             <KEYWORD2>thread</KEYWORD2>\r
90             <KEYWORD2>sender</KEYWORD2>\r
91             <KEYWORD2>senderMethod</KEYWORD2>\r
92             <KEYWORD2>blockSelf</KEYWORD2>\r
93             <KEYWORD2>scheduler</KEYWORD2>\r
94             <KEYWORD2>¼</KEYWORD2>\r
95 \r
96                         <!-- not really keywords, but a different color works well-->\r
97                         <KEYWORD4>isNil</KEYWORD4>\r
98                         <KEYWORD4>not</KEYWORD4>\r
99 \r
100                         <!-- not really -->\r
101                         <LITERAL2>Smalltalk</LITERAL2>\r
102                         <LITERAL2>Transcript</LITERAL2>\r
103 \r
104                         <!-- base classes -->\r
105                         <LITERAL2>Date</LITERAL2>\r
106                         <LITERAL2>Time</LITERAL2>\r
107                         <LITERAL2>Boolean</LITERAL2>\r
108                         <LITERAL2>True</LITERAL2>\r
109                         <LITERAL2>False</LITERAL2>\r
110                         <LITERAL2>Character</LITERAL2>\r
111                         <LITERAL2>String</LITERAL2>\r
112                         <LITERAL2>Array</LITERAL2>\r
113                         <LITERAL2>Symbol</LITERAL2>\r
114                         <LITERAL2>Integer</LITERAL2>\r
115                         <LITERAL2>Object</LITERAL2>\r
116 \r
117             <LITERAL3>Application</LITERAL3>\r
118             <LITERAL3>Category</LITERAL3>\r
119             <LITERAL3>Class</LITERAL3>\r
120             <LITERAL3>Compiler</LITERAL3>\r
121             <LITERAL3>EntryPoint</LITERAL3>\r
122             <LITERAL3>Enum</LITERAL3>\r
123             <LITERAL3>Eval</LITERAL3>\r
124             <LITERAL3>Exception</LITERAL3>\r
125             <LITERAL3>Function</LITERAL3>\r
126             <LITERAL3>IconResource</LITERAL3>\r
127             <LITERAL3>Interface</LITERAL3>\r
128             <LITERAL3>Literal</LITERAL3>\r
129             <LITERAL3>Namespace</LITERAL3>\r
130             <LITERAL3>Method</LITERAL3>\r
131             <LITERAL3>Mixin</LITERAL3>\r
132             <LITERAL3>Module</LITERAL3>\r
133             <LITERAL3>Project</LITERAL3>\r
134             <LITERAL3>Reference</LITERAL3>\r
135             <LITERAL3>Require</LITERAL3>\r
136             <LITERAL3>Resource</LITERAL3>\r
137             <LITERAL3>Signal</LITERAL3>\r
138             <LITERAL3>Struct</LITERAL3>\r
139             <LITERAL3>Subsystem</LITERAL3>\r
140             <LITERAL3>Specifications</LITERAL3>\r
141             <LITERAL3>Warning</LITERAL3>\r
142 \r
143                 </KEYWORDS>\r
144         </RULES>\r
145 </MODE>\r