File: objective-c.xml

package info (click to toggle)
jedit 4.5.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 12,252 kB
  • sloc: java: 90,581; xml: 88,372; makefile: 55; sh: 25
file content (119 lines) | stat: -rw-r--r-- 4,293 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?xml version="1.0"?>

<!DOCTYPE MODE SYSTEM "xmode.dtd">

<!-- Extension of c.xml to handle Objective-C keywords. -->
<MODE>
    <PROPS>
        <PROPERTY NAME="commentStart" VALUE="/*" />
        <PROPERTY NAME="commentEnd" VALUE="*/" />
        <PROPERTY NAME="lineComment" VALUE="//" />
        <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />

	<!-- Auto indent -->
	<PROPERTY NAME="indentOpenBrackets" VALUE="{" />
	<PROPERTY NAME="indentCloseBrackets" VALUE="}" />
	<PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
	<PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
	<PROPERTY NAME="indentNextLine"
		VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
	<PROPERTY NAME="unindentThisLine"
		VALUE="^.*(default:\s*|case.*:.*)$" />
	<PROPERTY NAME="electricKeys" VALUE=":" />
    </PROPS>

    <RULES
        IGNORE_CASE="FALSE"
        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
        <EOL_SPAN TYPE="KEYWORD2" AT_WHITESPACE_END="TRUE" DELEGATE="CPP">#</EOL_SPAN>

        <IMPORT DELEGATE="c::LEX"/>
        <IMPORT DELEGATE="c::CORE"/>
		<IMPORT DELEGATE="CORE"/>
    </RULES>

    <!-- Core language -->
    <RULES SET="CORE"
        IGNORE_CASE="FALSE"
        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
        <KEYWORDS>
            <!-- Types (Objective C) -->
            <KEYWORD3>id</KEYWORD3>
            <KEYWORD3>Class</KEYWORD3>
            <KEYWORD3>SEL</KEYWORD3>
            <KEYWORD3>IMP</KEYWORD3>
            <KEYWORD3>BOOL</KEYWORD3>

            <!-- Keywords (Objective C) -->
            <KEYWORD1>oneway</KEYWORD1>
            <KEYWORD1>in</KEYWORD1>
            <KEYWORD1>out</KEYWORD1>
            <KEYWORD1>inout</KEYWORD1>
            <KEYWORD1>bycopy</KEYWORD1>
            <KEYWORD1>byref</KEYWORD1>
            <KEYWORD1>self</KEYWORD1>
            <KEYWORD1>super</KEYWORD1>

            <!-- Preprocessor Directives (Objective C)-->
            <KEYWORD1>@interface</KEYWORD1>
            <KEYWORD1>@implementation</KEYWORD1>
            <KEYWORD1>@protocol</KEYWORD1>
            <KEYWORD1>@end</KEYWORD1>
            <KEYWORD1>@private</KEYWORD1>
            <KEYWORD1>@protected</KEYWORD1>
            <KEYWORD1>@public</KEYWORD1>
            <KEYWORD1>@class</KEYWORD1>
            <KEYWORD1>@selector</KEYWORD1>
            <KEYWORD1>@endcode</KEYWORD1>
            <KEYWORD1>@defs</KEYWORD1>

            <LITERAL2>TRUE</LITERAL2>
            <LITERAL2>FALSE</LITERAL2>
            <LITERAL2>YES</LITERAL2>
            <LITERAL2>NO</LITERAL2>
            <LITERAL2>NULL</LITERAL2>
            <LITERAL2>nil</LITERAL2>
            <LITERAL2>Nil</LITERAL2>
        </KEYWORDS>
    </RULES>

    <!-- Preprocessor specific rules -->
    <RULES SET="CPP"
        IGNORE_CASE="FALSE"
        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">

        <EOL_SPAN_REGEXP HASH_CHAR="include" TYPE="MARKUP" DELEGATE="c::INCLUDE">include\b</EOL_SPAN_REGEXP>
        <EOL_SPAN_REGEXP HASH_CHAR="import" TYPE="MARKUP" DELEGATE="c::INCLUDE">import\b</EOL_SPAN_REGEXP>
        <EOL_SPAN_REGEXP HASH_CHAR="define" TYPE="MARKUP" DELEGATE="DEFINE">define\b</EOL_SPAN_REGEXP>
        <EOL_SPAN_REGEXP HASH_CHAR="endif" TYPE="MARKUP" DELEGATE="c::LEX">endif\b</EOL_SPAN_REGEXP>
        <EOL_SPAN_REGEXP HASH_CHAR="elif" TYPE="MARKUP" DELEGATE="c::CONDITION">elif\b</EOL_SPAN_REGEXP>
        <EOL_SPAN_REGEXP HASH_CHAR="if" TYPE="MARKUP" DELEGATE="c::CONDITION">if\b</EOL_SPAN_REGEXP>

        <IMPORT DELEGATE="LEX"/>

        <!-- Directives -->
        <KEYWORDS>
            <MARKUP>ifdef</MARKUP>
            <MARKUP>ifndef</MARKUP>
            <MARKUP>else</MARKUP>
            <MARKUP>error</MARKUP>
            <MARKUP>line</MARKUP>
            <MARKUP>pragma</MARKUP>
            <MARKUP>undef</MARKUP>
            <MARKUP>warning</MARKUP>
        </KEYWORDS>
    </RULES>

    <!-- After #define directive -->
    <!-- Almost same as the normal code,
        except two additional operators # and ##. -->
    <RULES SET="DEFINE"
        IGNORE_CASE="FALSE"
        HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="[0-9][0-9a-zA-Z]*">
        <SEQ TYPE="OPERATOR">#</SEQ>
        <IMPORT DELEGATE="c::LEX"/>
        <IMPORT DELEGATE="c::CORE"/>
        <IMPORT DELEGATE="CORE"/>
    </RULES>

</MODE>