3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
5 <!-- Extension of c.xml to handle Objective-C keywords. -->
8 <PROPERTY NAME="commentStart" VALUE="/*" />
9 <PROPERTY NAME="commentEnd" VALUE="*/" />
10 <PROPERTY NAME="lineComment" VALUE="//" />
11 <PROPERTY NAME="wordBreakChars" VALUE=",+-=<>/?^&*" />
14 <PROPERTY NAME="indentOpenBrackets" VALUE="{" />
15 <PROPERTY NAME="indentCloseBrackets" VALUE="}" />
16 <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
17 <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
18 <PROPERTY NAME="indentNextLine"
19 VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
20 <PROPERTY NAME="unindentThisLine"
21 VALUE="^.*(default:\s*|case.*:.*)$" />
22 <PROPERTY NAME="electricKeys" VALUE=":" />
27 HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
28 <EOL_SPAN TYPE="KEYWORD2" AT_WHITESPACE_END="TRUE" DELEGATE="CPP">#</EOL_SPAN>
30 <IMPORT DELEGATE="c::LEX"/>
31 <IMPORT DELEGATE="c::CORE"/>
32 <IMPORT DELEGATE="CORE"/>
35 <!-- Core language -->
38 HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
40 <!-- Types (Objective C) -->
41 <KEYWORD3>id</KEYWORD3>
42 <KEYWORD3>Class</KEYWORD3>
43 <KEYWORD3>SEL</KEYWORD3>
44 <KEYWORD3>IMP</KEYWORD3>
45 <KEYWORD3>BOOL</KEYWORD3>
47 <!-- Keywords (Objective C) -->
48 <KEYWORD1>oneway</KEYWORD1>
49 <KEYWORD1>in</KEYWORD1>
50 <KEYWORD1>out</KEYWORD1>
51 <KEYWORD1>inout</KEYWORD1>
52 <KEYWORD1>bycopy</KEYWORD1>
53 <KEYWORD1>byref</KEYWORD1>
54 <KEYWORD1>self</KEYWORD1>
55 <KEYWORD1>super</KEYWORD1>
57 <!-- Preprocessor Directives (Objective C)-->
58 <KEYWORD1>@interface</KEYWORD1>
59 <KEYWORD1>@implementation</KEYWORD1>
60 <KEYWORD1>@protocol</KEYWORD1>
61 <KEYWORD1>@end</KEYWORD1>
62 <KEYWORD1>@private</KEYWORD1>
63 <KEYWORD1>@protected</KEYWORD1>
64 <KEYWORD1>@public</KEYWORD1>
65 <KEYWORD1>@class</KEYWORD1>
66 <KEYWORD1>@selector</KEYWORD1>
67 <KEYWORD1>@endcode</KEYWORD1>
68 <KEYWORD1>@defs</KEYWORD1>
70 <LITERAL2>TRUE</LITERAL2>
71 <LITERAL2>FALSE</LITERAL2>
72 <LITERAL2>YES</LITERAL2>
73 <LITERAL2>NO</LITERAL2>
74 <LITERAL2>NULL</LITERAL2>
75 <LITERAL2>nil</LITERAL2>
76 <LITERAL2>Nil</LITERAL2>
80 <!-- Preprocessor specific rules -->
83 HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
85 <EOL_SPAN_REGEXP HASH_CHAR="include" TYPE="MARKUP" DELEGATE="c::INCLUDE">include\b</EOL_SPAN_REGEXP>
86 <EOL_SPAN_REGEXP HASH_CHAR="import" TYPE="MARKUP" DELEGATE="c::INCLUDE">import\b</EOL_SPAN_REGEXP>
87 <EOL_SPAN_REGEXP HASH_CHAR="define" TYPE="MARKUP" DELEGATE="DEFINE">define\b</EOL_SPAN_REGEXP>
88 <EOL_SPAN_REGEXP HASH_CHAR="endif" TYPE="MARKUP" DELEGATE="c::LEX">endif\b</EOL_SPAN_REGEXP>
89 <EOL_SPAN_REGEXP HASH_CHAR="elif" TYPE="MARKUP" DELEGATE="c::CONDITION">elif\b</EOL_SPAN_REGEXP>
90 <EOL_SPAN_REGEXP HASH_CHAR="if" TYPE="MARKUP" DELEGATE="c::CONDITION">if\b</EOL_SPAN_REGEXP>
92 <IMPORT DELEGATE="c::LEX"/>
96 <MARKUP>ifdef</MARKUP>
97 <MARKUP>ifndef</MARKUP>
99 <MARKUP>error</MARKUP>
100 <MARKUP>line</MARKUP>
101 <MARKUP>pragma</MARKUP>
102 <MARKUP>undef</MARKUP>
103 <MARKUP>warning</MARKUP>
107 <!-- After #define directive -->
108 <!-- Almost same as the normal code,
109 except two additional operators # and ##. -->
112 HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
113 <SEQ TYPE="OPERATOR">#</SEQ>
114 <IMPORT DELEGATE="c::LEX"/>
115 <IMPORT DELEGATE="c::CORE"/>
116 <IMPORT DELEGATE="CORE"/>