]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/go.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / go.xml
1 <?xml version="1.0"?>
2 <!DOCTYPE MODE SYSTEM "xmode.dtd">
3 <!-- Original jEdit mode by Cedric Simon. Updated by Rodrigo Moraes. -->
4 <MODE>
5   <PROPS>
6     <!-- comment -->
7     <PROPERTY NAME="commentStart" VALUE="/*" />
8     <PROPERTY NAME="commentEnd" VALUE="*/" />
9     <PROPERTY NAME="lineComment" VALUE="//" />
10     <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />
11     <!-- indent -->
12     <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
13     <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
14     <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
15     <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
16     <PROPERTY NAME="indentNextLine"
17       VALUE="\s*(((if)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
18     <PROPERTY NAME="unindentThisLine"
19       VALUE="^.*(default:\s*|case.*:.*)$" />
20     <PROPERTY NAME="electricKeys" VALUE=":" />
21   </PROPS>
22
23   <RULES
24     IGNORE_CASE="FALSE"
25     HIGHLIGHT_DIGITS="TRUE"
26     DIGIT_RE="[0-9][0-9a-zA-Z]*">
27
28     <SPAN TYPE="COMMENT1">
29       <BEGIN>/*</BEGIN>
30       <END>*/</END>
31     </SPAN>
32
33     <EOL_SPAN TYPE="COMMENT1">//</EOL_SPAN>
34
35     <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
36       <BEGIN>"</BEGIN>
37       <END>"</END>
38     </SPAN>
39     <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
40       <BEGIN>'</BEGIN>
41       <END>'</END>
42     </SPAN>
43     <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">
44       <BEGIN>`</BEGIN>
45       <END>`</END>
46     </SPAN>
47
48     <SEQ TYPE="OPERATOR">+</SEQ>
49     <SEQ TYPE="OPERATOR">-</SEQ>
50     <SEQ TYPE="OPERATOR">*</SEQ>
51     <SEQ TYPE="OPERATOR">/</SEQ>
52     <SEQ TYPE="OPERATOR">%</SEQ>
53     <SEQ TYPE="OPERATOR">&amp;</SEQ>
54     <SEQ TYPE="OPERATOR">|</SEQ>
55     <SEQ TYPE="OPERATOR">^</SEQ>
56     <SEQ TYPE="OPERATOR">&lt;&lt;</SEQ>
57     <SEQ TYPE="OPERATOR">&gt;&gt;</SEQ>
58     <SEQ TYPE="OPERATOR">&amp;^</SEQ>
59     <SEQ TYPE="OPERATOR">+=</SEQ>
60     <SEQ TYPE="OPERATOR">-=</SEQ>
61     <SEQ TYPE="OPERATOR">*=</SEQ>
62     <SEQ TYPE="OPERATOR">/=</SEQ>
63     <SEQ TYPE="OPERATOR">%=</SEQ>
64     <SEQ TYPE="OPERATOR">&amp;=</SEQ>
65     <SEQ TYPE="OPERATOR">|=</SEQ>
66     <SEQ TYPE="OPERATOR">^=</SEQ>
67     <SEQ TYPE="OPERATOR">&lt;&lt;=</SEQ>
68     <SEQ TYPE="OPERATOR">&gt;&gt;=</SEQ>
69     <SEQ TYPE="OPERATOR">&amp;^=</SEQ>
70     <SEQ TYPE="OPERATOR">&amp;&amp;</SEQ>
71     <SEQ TYPE="OPERATOR">||</SEQ>
72     <SEQ TYPE="OPERATOR">&lt;-</SEQ>
73     <SEQ TYPE="OPERATOR">++</SEQ>
74     <SEQ TYPE="OPERATOR">--</SEQ>
75     <SEQ TYPE="OPERATOR">==</SEQ>
76     <SEQ TYPE="OPERATOR">&lt;</SEQ>
77     <SEQ TYPE="OPERATOR">&gt;</SEQ>
78     <SEQ TYPE="OPERATOR">=</SEQ>
79     <SEQ TYPE="OPERATOR">!</SEQ>
80     <SEQ TYPE="OPERATOR">!=</SEQ>
81     <SEQ TYPE="OPERATOR">&lt;=</SEQ>
82     <SEQ TYPE="OPERATOR">&gt;=</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">]</SEQ>
89     <SEQ TYPE="OPERATOR">{</SEQ>
90     <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
96     <KEYWORDS>
97       <!-- keywords: control flow -->
98       <KEYWORD1>break</KEYWORD1>
99       <KEYWORD1>case</KEYWORD1>
100       <KEYWORD1>continue</KEYWORD1>
101       <KEYWORD1>default</KEYWORD1>
102       <KEYWORD1>defer</KEYWORD1>
103       <KEYWORD1>else</KEYWORD1>
104       <KEYWORD1>fallthrough</KEYWORD1>
105       <KEYWORD1>for</KEYWORD1>
106       <KEYWORD1>go</KEYWORD1>
107       <KEYWORD1>goto</KEYWORD1>
108       <KEYWORD1>if</KEYWORD1>
109       <KEYWORD1>range</KEYWORD1>
110       <KEYWORD1>return</KEYWORD1>
111       <KEYWORD1>select</KEYWORD1>
112       <KEYWORD1>switch</KEYWORD1>
113       <!-- keywords: "declarations" (not really) -->
114       <KEYWORD1>chan</KEYWORD1>
115       <KEYWORD1>const</KEYWORD1>
116       <KEYWORD1>func</KEYWORD1>
117       <KEYWORD1>import</KEYWORD1>
118       <KEYWORD1>interface</KEYWORD1>
119       <KEYWORD1>map</KEYWORD1>
120       <KEYWORD1>package</KEYWORD1>
121       <KEYWORD1>struct</KEYWORD1>
122       <KEYWORD1>type</KEYWORD1>
123       <KEYWORD1>var</KEYWORD1>
124       <!-- types -->
125       <KEYWORD3>bool</KEYWORD3>
126       <KEYWORD3>byte</KEYWORD3>
127       <KEYWORD3>complex64</KEYWORD3>
128       <KEYWORD3>complex128</KEYWORD3>
129       <KEYWORD3>float32</KEYWORD3>
130       <KEYWORD3>float64</KEYWORD3>
131       <KEYWORD3>int8</KEYWORD3>
132       <KEYWORD3>int16</KEYWORD3>
133       <KEYWORD3>int32</KEYWORD3>
134       <KEYWORD3>int64</KEYWORD3>
135       <KEYWORD3>string</KEYWORD3>
136       <KEYWORD3>uint8</KEYWORD3>
137       <KEYWORD3>uint16</KEYWORD3>
138       <KEYWORD3>uint32</KEYWORD3>
139       <KEYWORD3>uint64</KEYWORD3>
140       <KEYWORD3>int</KEYWORD3>
141       <KEYWORD3>uint</KEYWORD3>
142       <KEYWORD3>uintptr</KEYWORD3>
143       <KEYWORD3>rune</KEYWORD3>
144       <!-- constants -->
145       <LITERAL2>true</LITERAL2>
146       <LITERAL2>false</LITERAL2>
147       <LITERAL2>iota</LITERAL2>
148       <LITERAL2>nil</LITERAL2>
149       <!-- functions -->
150       <FUNCTION>append</FUNCTION>
151       <FUNCTION>cap</FUNCTION>
152       <FUNCTION>close</FUNCTION>
153       <FUNCTION>complex</FUNCTION>
154       <FUNCTION>copy</FUNCTION>
155       <FUNCTION>imag</FUNCTION>
156       <FUNCTION>len</FUNCTION>
157       <FUNCTION>make</FUNCTION>
158       <FUNCTION>new</FUNCTION>
159       <FUNCTION>panic</FUNCTION>
160       <FUNCTION>real</FUNCTION>
161       <FUNCTION>recover</FUNCTION>
162       <FUNCTION>print</FUNCTION>
163       <FUNCTION>println</FUNCTION>
164     </KEYWORDS>
165
166   </RULES>
167
168 </MODE>
169