]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/splus.xml
12e10d7ee3d77b5d692f82dd7605f9dc3c01c385
[factor.git] / basis / xmode / modes / splus.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
4 \r
5 <MODE>\r
6     <PROPS>\r
7         <PROPERTY NAME="lineComment" VALUE="#" />\r
8         <PROPERTY NAME="wordBreakChars" VALUE="_,+-=&lt;&gt;/?^&amp;*" />\r
9 \r
10         <!-- Auto indent -->\r
11         <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
12         <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
13         <PROPERTY NAME="indentNextLine"\r
14             VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
15         <!-- set this to 'true' if you want to use GNU coding style -->\r
16         <PROPERTY NAME="doubleBracketIndent" VALUE="false" />\r
17     </PROPS>\r
18     <RULES ESCAPE="\"\r
19         IGNORE_CASE="FALSE"\r
20         HIGHLIGHT_DIGITS="TRUE"\r
21         DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
22 \r
23         <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
24             <BEGIN>"</BEGIN>\r
25             <END>"</END>\r
26         </SPAN>\r
27         <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
28             <BEGIN>'</BEGIN>\r
29             <END>'</END>\r
30         </SPAN>\r
31 \r
32         <EOL_SPAN TYPE="COMMENT1">#</EOL_SPAN>\r
33         <SEQ TYPE="OPERATOR">=</SEQ>\r
34         <SEQ TYPE="OPERATOR">!</SEQ>\r
35         <SEQ TYPE="OPERATOR">_</SEQ>\r
36         <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
37         <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
38         <SEQ TYPE="OPERATOR">&lt;-</SEQ>\r
39         <SEQ TYPE="OPERATOR">+</SEQ>\r
40         <SEQ TYPE="OPERATOR">-</SEQ>\r
41         <SEQ TYPE="OPERATOR">/</SEQ>\r
42 \r
43         <SEQ TYPE="OPERATOR">*</SEQ>\r
44         <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
45         <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
46         <SEQ TYPE="OPERATOR">%</SEQ>\r
47         <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
48         <SEQ TYPE="OPERATOR">|</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         <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
54             MATCH_TYPE="OPERATOR"\r
55             TYPE="LABEL">:</MARK_PREVIOUS>\r
56 \r
57         <!-- Function calls -->\r
58         <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>\r
59                 <SEQ TYPE="OPERATOR">)</SEQ>\r
60 \r
61         <KEYWORDS>\r
62             <KEYWORD1>break</KEYWORD1>\r
63             <KEYWORD1>case</KEYWORD1>\r
64             <KEYWORD1>continue</KEYWORD1>\r
65             <KEYWORD1>default</KEYWORD1>\r
66             <KEYWORD1>do</KEYWORD1>\r
67             <KEYWORD1>else</KEYWORD1>\r
68             <KEYWORD1>for</KEYWORD1>\r
69             <KEYWORD1>goto</KEYWORD1>\r
70             <KEYWORD1>if</KEYWORD1>\r
71             <KEYWORD1>return</KEYWORD1>\r
72             <KEYWORD1>sizeof</KEYWORD1>\r
73             <KEYWORD1>switch</KEYWORD1>\r
74             <KEYWORD1>while</KEYWORD1>\r
75 \r
76             <KEYWORD1>function</KEYWORD1>\r
77 \r
78             <LITERAL2>T</LITERAL2>\r
79             <LITERAL2>F</LITERAL2>\r
80         </KEYWORDS>\r
81     </RULES>\r
82 </MODE>\r