1
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE language SYSTEM "language.dtd">
3
<language name="Pascal" version="1.22" kateversion="2.5.9" section="Sources" extensions="*.pp;*.pas;*.p" mimetype="text/x-pascal" author="Unnamed people and Liu Sizhuang(oldherl@gmail.com)">
17
<item> function </item>
26
<item> operator </item>
29
<item> procedure </item>
30
<item> program </item>
47
<item> automated </item>
49
<item> continue </item>
50
<item> dispinterface </item>
51
<item> dispose </item>
54
<item> finalization </item>
55
<item> initialization </item>
56
<item> library </item>
58
<item> published </item>
59
<item> resourcestring </item>
63
<list name="ISO/Delphi Extended">
64
<item> abstract </item>
66
<item> bindable </item>
67
<item> constructor </item>
68
<item> destructor </item>
71
<item> finally </item>
73
<item> implementation </item>
74
<item> inherited </item>
76
<item> interface </item>
81
<item> otherwise </item>
82
<item> override </item>
83
<item> private </item>
84
<item> property </item>
85
<item> protected </item>
88
<item> qualified </item>
90
<item> restricted </item>
93
<item> threadvar </item>
95
<item> virtual </item>
99
<item> Integer </item>
100
<item> Cardinal </item>
101
<item> ShortInt </item>
102
<item> SmallInt </item>
103
<item> LongInt </item>
107
<item> LongWord </item>
111
<item> AnsiChar </item>
112
<item> WideChar </item>
113
<item> Boolean </item>
114
<item> ByteBool </item>
115
<item> WordBool </item>
116
<item> LongBool </item>
117
<item> Single </item>
118
<item> Double </item>
119
<item> Extended </item>
121
<item> Currency </item>
123
<item> Real48 </item>
124
<item> String </item>
125
<item> ShortString </item>
126
<item> AnsiString </item>
127
<item> WideString </item>
128
<item> Pointer </item>
129
<item> Variant</item>
133
<list name="attention">
140
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
141
<RegExpr attribute="Keyword" context="#stay" String="\b(begin|case|record)(?=(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*([\s]|$|//))" insensitive="true" beginRegion="Region1"/>
142
<RegExpr attribute="ISO/Delphi Extended" context="#stay" String="\b((object|class)(?=(\(.*\))?(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*;?([\s]|$|//))|try(?=(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*([\s]|$|//)))" insensitive="true" beginRegion="Region1"/>
143
<RegExpr attribute="Keyword" context="#stay" String="\bend(?=((\{[^}]*(\}|$)|\(\*.*(\*\)|$))*)([.;\s]|$)|//|$)" insensitive="true" endRegion="Region1"/>
145
<keyword attribute="Keyword" context="#stay" String="keywords"/>
146
<keyword attribute="ISO/Delphi Extended" context="#stay" String="ISO/Delphi Extended"/>
147
<keyword attribute="Type" context="#stay" String="types"/>
148
<Float attribute="Number" context="#stay"/>
149
<Int attribute="Number" context="#stay"/>
150
<DetectChar attribute="Hex" context="Hex" char="$" />
151
<DetectChar attribute="String" context="CharNum" char="#" />
152
<DetectChar attribute="String" context="String" char="'" />
153
<StringDetect attribute="Directive" context="Prep1" String="(*$"/>
154
<Detect2Chars attribute="Directive" context="Prep2" char="{" char1="$"/>
155
<DetectChar attribute="Comment" context="Comment1" char="{" beginRegion="Region2"/>
156
<Detect2Chars attribute="Comment" context="Comment2" char="(" char1="*" beginRegion="Region3"/>
157
<Detect2Chars attribute="Comment" context="Comment3" char="/" char1="/"/>
159
<context attribute="String" lineEndContext="#pop" name="CharNum">
160
<DetectChar attribute="Hex" context="HexCharNum" char="$" />
161
<RegExpr String="[^0-9]" context="#pop"/>
163
<context attribute="Hex" lineEndContext="#pop" name="HexCharNum">
164
<RegExpr String="[^a-fA-F0-9]" context="#pop#pop"/>
166
<context attribute="Hex" lineEndContext="#pop" name="Hex">
167
<RegExpr String="[^a-fA-F0-9]" context="#pop"/>
169
<context attribute="String" lineEndContext="#pop" name="String">
170
<DetectChar attribute="String" context="#pop" char="'"/>
172
<context attribute="Directive" lineEndContext="#pop" name="Prep1">
173
<Detect2Chars attribute="Directive" context="#pop" char="*" char1=")"/>
175
<context attribute="Directive" lineEndContext="#pop" name="Prep2">
176
<DetectChar attribute="Directive" context="#pop" char="}"/>
178
<context attribute="Comment" lineEndContext="#stay" name="Comment1">
179
<keyword attribute="Alert" context="#stay" String="attention" />
180
<DetectChar attribute="Comment" context="#pop" char="}" endRegion="Region2"/>
182
<context attribute="Comment" lineEndContext="#stay" name="Comment2">
183
<keyword attribute="Alert" context="#stay" String="attention" />
184
<Detect2Chars attribute="Comment" context="#pop" char="*" char1=")" endRegion="Region3"/>
186
<context attribute="Comment" lineEndContext="#pop" name="Comment3">
187
<keyword attribute="Alert" context="#stay" String="attention" />
191
<itemData name="Normal Text" defStyleNum="dsNormal" />
192
<itemData name="Hex" defStyleNum="dsBaseN" />
193
<itemData name="Keyword" defStyleNum="dsKeyword" />
194
<itemData name="ISO/Delphi Extended" defStyleNum="dsKeyword" color="#000080" />
195
<itemData name="Type" defStyleNum="dsDataType"/>
196
<itemData name="Number" defStyleNum="dsDecVal" />
197
<itemData name="String" defStyleNum="dsString" />
198
<itemData name="Directive" defStyleNum="dsOthers" />
199
<itemData name="Comment" defStyleNum="dsComment" />
200
<itemData name="Alert" defStyleNum="dsAlert" />
204
<keywords casesensitive="0" />
206
<comment name="singleLine" start="//" />
207
<comment name="multiLine" start="{" end="}" />