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