You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/kate/data/pascal.xml

211 lines
8.0 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<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)">
<highlighting>
<list name="keywords">
<item> and </item>
<item> array </item>
<item> asm </item>
<item> case </item>
<item> const </item>
<item> div </item>
<item> do </item>
<item> downto </item>
<item> else </item>
<item> file </item>
<item> for </item>
<item> function </item>
<item> goto </item>
<item> if </item>
<item> in </item>
<item> label </item>
<item> mod </item>
<item> nil </item>
<item> not </item>
<item> of </item>
<item> operator </item>
<item> or </item>
<item> packed </item>
<item> procedure </item>
<item> program </item>
<item> record </item>
<item> repeat </item>
<item> set </item>
<item> then </item>
<item> to </item>
<item> type </item>
<item> unit </item>
<item> until </item>
<item> uses </item>
<item> var </item>
<item> while </item>
<item> with </item>
<item> xor </item>
<item> at </item>
<item> automated </item>
<item> break </item>
<item> continue </item>
<item> dispinterface </item>
<item> dispose </item>
<item> exit </item>
<item> false </item>
<item> finalization </item>
<item> initialization </item>
<item> library </item>
<item> new </item>
<item> published </item>
<item> resourcestring </item>
<item> self </item>
<item> true </item>
</list>
<list name="ISO/Delphi Extended">
<item> abstract </item>
<item> as </item>
<item> bindable </item>
<item> constructor </item>
<item> destructor </item>
<item> except </item>
<item> export </item>
<item> finally </item>
<item> import </item>
<item> implementation </item>
<item> inherited </item>
<item> inline </item>
<item> interface </item>
<item> is </item>
<item> module </item>
<item> on </item>
<item> only </item>
<item> otherwise </item>
<item> override </item>
<item> private </item>
<item> property </item>
<item> protected </item>
<item> public </item>
<item> read </item>
<item> qualified </item>
<item> raise </item>
<item> restricted </item>
<item> shl </item>
<item> shr </item>
<item> threadvar </item>
<item> try </item>
<item> virtual </item>
<item> write </item>
</list>
<list name="types">
<item> Integer </item>
<item> Cardinal </item>
<item> ShortInt </item>
<item> SmallInt </item>
<item> LongInt </item>
<item> Int64 </item>
<item> Byte </item>
<item> Word </item>
<item> LongWord </item>
<item> DWord </item>
<item> QWord </item>
<item> Char </item>
<item> AnsiChar </item>
<item> WideChar </item>
<item> Boolean </item>
<item> ByteBool </item>
<item> WordBool </item>
<item> LongBool </item>
<item> Single </item>
<item> Double </item>
<item> Extended </item>
<item> Comp </item>
<item> Currency </item>
<item> Real </item>
<item> Real48 </item>
<item> String </item>
<item> ShortString </item>
<item> AnsiString </item>
<item> WideString </item>
<item> Pointer </item>
<item> Variant</item>
<item> File </item>
<item> Text </item>
</list>
<list name="attention">
<item> FIXME </item>
<item> TODO </item>
<item> NOTE </item>
<item> ### </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<RegExpr attribute="Keyword" context="#stay" String="\b(begin|case|record)(?=(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*([\s]|$|//))" insensitive="true" beginRegion="Region1"/>
<RegExpr attribute="ISO/Delphi Extended" context="#stay" String="\b((object|class)(?=(\(.*\))?(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*;?([\s]|$|//))|try(?=(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*([\s]|$|//)))" insensitive="true" beginRegion="Region1"/>
<RegExpr attribute="Keyword" context="#stay" String="\bend(?=((\{[^}]*(\}|$)|\(\*.*(\*\)|$))*)([.;\s]|$)|//|$)" insensitive="true" endRegion="Region1"/>
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="ISO/Delphi Extended" context="#stay" String="ISO/Delphi Extended"/>
<keyword attribute="Type" context="#stay" String="types"/>
<Float attribute="Number" context="#stay"/>
<Int attribute="Number" context="#stay"/>
<DetectChar attribute="Hex" context="Hex" char="$" />
<DetectChar attribute="String" context="CharNum" char="#" />
<DetectChar attribute="String" context="String" char="&apos;" />
<StringDetect attribute="Directive" context="Prep1" String="(*$"/>
<Detect2Chars attribute="Directive" context="Prep2" char="{" char1="$"/>
<DetectChar attribute="Comment" context="Comment1" char="{" beginRegion="Region2"/>
<Detect2Chars attribute="Comment" context="Comment2" char="(" char1="*" beginRegion="Region3"/>
<Detect2Chars attribute="Comment" context="Comment3" char="/" char1="/"/>
</context>
<context attribute="String" lineEndContext="#pop" name="CharNum">
<DetectChar attribute="Hex" context="HexCharNum" char="$" />
<RegExpr String="[^0-9]" context="#pop"/>
</context>
<context attribute="Hex" lineEndContext="#pop" name="HexCharNum">
<RegExpr String="[^a-fA-F0-9]" context="#pop#pop"/>
</context>
<context attribute="Hex" lineEndContext="#pop" name="Hex">
<RegExpr String="[^a-fA-F0-9]" context="#pop"/>
</context>
<context attribute="String" lineEndContext="#pop" name="String">
<DetectChar attribute="String" context="#pop" char="&apos;"/>
</context>
<context attribute="Directive" lineEndContext="#pop" name="Prep1">
<Detect2Chars attribute="Directive" context="#pop" char="*" char1=")"/>
</context>
<context attribute="Directive" lineEndContext="#pop" name="Prep2">
<DetectChar attribute="Directive" context="#pop" char="}"/>
</context>
<context attribute="Comment" lineEndContext="#stay" name="Comment1">
<keyword attribute="Alert" context="#stay" String="attention" />
<DetectChar attribute="Comment" context="#pop" char="}" endRegion="Region2"/>
</context>
<context attribute="Comment" lineEndContext="#stay" name="Comment2">
<keyword attribute="Alert" context="#stay" String="attention" />
<Detect2Chars attribute="Comment" context="#pop" char="*" char1=")" endRegion="Region3"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="Comment3">
<keyword attribute="Alert" context="#stay" String="attention" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Hex" defStyleNum="dsBaseN" />
<itemData name="Keyword" defStyleNum="dsKeyword" />
<itemData name="ISO/Delphi Extended" defStyleNum="dsKeyword" color="#000080" />
<itemData name="Type" defStyleNum="dsDataType"/>
<itemData name="Number" defStyleNum="dsDecVal" />
<itemData name="String" defStyleNum="dsString" />
<itemData name="Directive" defStyleNum="dsOthers" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Alert" defStyleNum="dsAlert" />
</itemDatas>
</highlighting>
<general>
<keywords casesensitive="0" />
<comments>
<comment name="singleLine" start="//" />
<comment name="multiLine" start="{" end="}" />
</comments>
</general>
</language>