Warning, /frameworks/syntax-highlighting/data/syntax/pascal.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 <language name="Pascal"
0004 section="Sources"
0005 version="4"
0006 kateversion="5.0"
0007 extensions="*.p;*.pas;*.pp"
0008 mimetype="text/x-pascal"
0009 priority="8"
0010 indenter="pascal"
0011 author="Unnamed people and Liu Sizhuang(oldherl@gmail.com)"
0012 >
0013 <highlighting>
0014 <list name="keywords">
0015 <item>and</item>
0016 <item>array</item>
0017 <item>asm</item>
0018 <item>case</item>
0019 <item>const</item>
0020 <item>div</item>
0021 <item>do</item>
0022 <item>downto</item>
0023 <item>else</item>
0024 <item>file</item>
0025 <item>for</item>
0026 <item>function</item>
0027 <item>goto</item>
0028 <item>if</item>
0029 <item>in</item>
0030 <item>label</item>
0031 <item>mod</item>
0032 <item>nil</item>
0033 <item>not</item>
0034 <item>of</item>
0035 <item>operator</item>
0036 <item>or</item>
0037 <item>packed</item>
0038 <item>procedure</item>
0039 <item>program</item>
0040 <item>record</item>
0041 <item>repeat</item>
0042 <item>set</item>
0043 <item>then</item>
0044 <item>to</item>
0045 <item>type</item>
0046 <item>unit</item>
0047 <item>until</item>
0048 <item>uses</item>
0049 <item>var</item>
0050 <item>while</item>
0051 <item>with</item>
0052 <item>xor</item>
0053
0054
0055 <item>at</item>
0056 <item>automated</item>
0057 <item>break</item>
0058 <item>continue</item>
0059 <item>dispinterface</item>
0060 <item>dispose</item>
0061 <item>exit</item>
0062 <item>false</item>
0063 <item>finalization</item>
0064 <item>initialization</item>
0065 <item>library</item>
0066 <item>new</item>
0067 <item>published</item>
0068 <item>resourcestring</item>
0069 <item>self</item>
0070 <item>true</item>
0071 </list>
0072 <list name="ISO/Delphi Extended">
0073 <item>abstract</item>
0074 <item>as</item>
0075 <item>bindable</item>
0076 <item>constructor</item>
0077 <item>destructor</item>
0078 <item>except</item>
0079 <item>export</item>
0080 <item>finally</item>
0081 <item>import</item>
0082 <item>implementation</item>
0083 <item>inherited</item>
0084 <item>inline</item>
0085 <item>interface</item>
0086 <item>is</item>
0087 <item>module</item>
0088 <item>on</item>
0089 <item>only</item>
0090 <item>otherwise</item>
0091 <item>override</item>
0092 <item>private</item>
0093 <item>property</item>
0094 <item>protected</item>
0095 <item>public</item>
0096 <item>read</item>
0097 <item>qualified</item>
0098 <item>raise</item>
0099 <item>restricted</item>
0100 <item>shl</item>
0101 <item>shr</item>
0102 <item>threadvar</item>
0103 <item>try</item>
0104 <item>virtual</item>
0105 <item>write</item>
0106 </list>
0107 <list name="types">
0108 <item>Integer</item>
0109 <item>Cardinal</item>
0110 <item>ShortInt</item>
0111 <item>SmallInt</item>
0112 <item>LongInt</item>
0113 <item>Int64</item>
0114 <item>Byte</item>
0115 <item>Word</item>
0116 <item>LongWord</item>
0117 <item>DWord</item>
0118 <item>QWord</item>
0119 <item>Char</item>
0120 <item>AnsiChar</item>
0121 <item>WideChar</item>
0122 <item>Boolean</item>
0123 <item>ByteBool</item>
0124 <item>WordBool</item>
0125 <item>LongBool</item>
0126 <item>Single</item>
0127 <item>Double</item>
0128 <item>Extended</item>
0129 <item>Comp</item>
0130 <item>Currency</item>
0131 <item>Real</item>
0132 <item>Real48</item>
0133 <item>String</item>
0134 <item>ShortString</item>
0135 <item>AnsiString</item>
0136 <item>WideString</item>
0137 <item>Pointer</item>
0138 <item>Variant</item>
0139 <item>File</item>
0140 <item>Text</item>
0141 </list>
0142 <contexts>
0143 <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
0144 <RegExpr attribute="Keyword" context="#stay" String="\b(begin|case|record)(?=(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*([\s]|$|//))" insensitive="true" beginRegion="Region1"/>
0145 <RegExpr attribute="ISO/Delphi Extended" context="#stay" String="\b((object|class)(?=(\(.*\))?(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*;?([\s]|$|//))|try(?=(\{[^}]*(\}|$)|\(\*.*(\*\)|$))*([\s]|$|//)))" insensitive="true" beginRegion="Region1"/>
0146 <RegExpr attribute="Keyword" context="#stay" String="\bend(?=((\{[^}]*(\}|$)|\(\*.*(\*\)|$))*)([.;\s]|$)|//|$)" insensitive="true" endRegion="Region1"/>
0147
0148 <keyword attribute="Keyword" context="#stay" String="keywords"/>
0149 <keyword attribute="ISO/Delphi Extended" context="#stay" String="ISO/Delphi Extended"/>
0150 <keyword attribute="Type" context="#stay" String="types"/>
0151 <Float attribute="Number" context="#stay"/>
0152 <Int attribute="Number" context="#stay"/>
0153 <DetectChar attribute="Hex" context="Hex" char="$" />
0154 <DetectChar attribute="String" context="CharNum" char="#" />
0155 <DetectChar attribute="String" context="String" char="'" />
0156 <StringDetect attribute="Directive" context="Prep1" String="(*$"/>
0157 <Detect2Chars attribute="Directive" context="Prep2" char="{" char1="$"/>
0158 <DetectChar attribute="Comment" context="Comment1" char="{" beginRegion="Region2"/>
0159 <Detect2Chars attribute="Comment" context="Comment2" char="(" char1="*" beginRegion="Region3"/>
0160 <Detect2Chars attribute="Comment" context="Comment3" char="/" char1="/"/>
0161 </context>
0162 <context attribute="String" lineEndContext="#pop" name="CharNum">
0163 <DetectChar attribute="Hex" context="HexCharNum" char="$" />
0164 <RegExpr String="[^0-9]" context="#pop"/>
0165 </context>
0166 <context attribute="Hex" lineEndContext="#pop" name="HexCharNum">
0167 <RegExpr String="[^a-fA-F0-9]" context="#pop#pop"/>
0168 </context>
0169 <context attribute="Hex" lineEndContext="#pop" name="Hex">
0170 <RegExpr String="[^a-fA-F0-9]" context="#pop"/>
0171 </context>
0172 <context attribute="String" lineEndContext="#pop" name="String">
0173 <DetectChar attribute="String" context="#pop" char="'"/>
0174 </context>
0175 <context attribute="Directive" lineEndContext="#pop" name="Prep1">
0176 <Detect2Chars attribute="Directive" context="#pop" char="*" char1=")"/>
0177 </context>
0178 <context attribute="Directive" lineEndContext="#pop" name="Prep2">
0179 <DetectChar attribute="Directive" context="#pop" char="}"/>
0180 </context>
0181 <context attribute="Comment" lineEndContext="#stay" name="Comment1">
0182 <DetectSpaces />
0183 <DetectChar attribute="Comment" context="#pop" char="}" endRegion="Region2"/>
0184 <IncludeRules context="##Comments"/>
0185 </context>
0186 <context attribute="Comment" lineEndContext="#stay" name="Comment2">
0187 <DetectSpaces />
0188 <Detect2Chars attribute="Comment" context="#pop" char="*" char1=")" endRegion="Region3"/>
0189 <IncludeRules context="##Comments"/>
0190 </context>
0191 <context attribute="Comment" lineEndContext="#pop" name="Comment3">
0192 <DetectSpaces />
0193 <IncludeRules context="##Comments"/>
0194 </context>
0195 </contexts>
0196 <itemDatas>
0197 <itemData name="Normal Text" defStyleNum="dsNormal" />
0198 <itemData name="Hex" defStyleNum="dsBaseN" />
0199 <itemData name="Keyword" defStyleNum="dsKeyword" />
0200 <itemData name="ISO/Delphi Extended" defStyleNum="dsKeyword" color="#000080" />
0201 <itemData name="Type" defStyleNum="dsDataType"/>
0202 <itemData name="Number" defStyleNum="dsDecVal" />
0203 <itemData name="String" defStyleNum="dsString" />
0204 <itemData name="Directive" defStyleNum="dsOthers" />
0205 <itemData name="Comment" defStyleNum="dsComment" />
0206 </itemDatas>
0207 </highlighting>
0208 <general>
0209 <keywords casesensitive="0" />
0210 <comments>
0211 <comment name="singleLine" start="//" position="afterwhitespace" />
0212 <comment name="multiLine" start="{" end="}" region="Region2" />
0213 </comments>
0214 </general>
0215 </language>
0216 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->