Warning, /frameworks/syntax-highlighting/data/syntax/pony.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language
0003 [
0004 <!ENTITY punctuators ":!&amp;()&#37;+-/.*&lt;=&gt;?[]{|}~^,;">
0005 <!ENTITY EXP "(?:[eE][+-]?[0-9](?:_?[0-9]+)*)">
0006 <!ENTITY HEX "[0-9A-Fa-f]">
0007 <!ENTITY SPECHAR "(?:\\[abefnrtv\\0]|\\x&HEX;&HEX;|\\u&HEX;&HEX;&HEX;&HEX;|\\U&HEX;&HEX;&HEX;&HEX;&HEX;&HEX;)">
0008 <!ENTITY IDVAR "[a-z][_a-zA-Z0-9]*'*(?!\w)">
0009 <!ENTITY IDTYPE "_?[A-Z][_a-zA-Z0-9]*">
0010 ]>
0011 <language author="Jonathan Poelen (jonathan.poelen@gmail.com)"
0012   name="Pony" section="Sources"
0013   version="7" kateversion="5.0"
0014   indenter="ruby"
0015   extensions="*.pony"
0016   mimetype="text/x-pony"
0017   priority="5"
0018   license="MIT"
0019 >
0020   <!-- https://github.com/ponylang/ponyc/blob/master/pony.g -->
0021 
0022   <highlighting>
0023     <list name="class_def">
0024       <item>type</item>
0025       <item>interface</item>
0026       <item>trait</item>
0027       <item>primitive</item>
0028       <item>struct</item>
0029       <item>class</item>
0030       <item>actor</item>
0031     </list>
0032     <list name="method">
0033       <item>fun</item>
0034       <item>be</item>
0035     </list>
0036     <list name="method_new">
0037       <item>new</item>
0038     </list>
0039     <list name="controlflow">
0040       <item>do</item>
0041       <item>then</item>
0042       <item>return</item>
0043       <item>break</item>
0044       <item>continue</item>
0045       <item>error</item>
0046       <item>compile_intrinsic</item>
0047       <item>compile_error</item>
0048       <item>recover</item> <!-- not a control flow, but ended by 'end' -->
0049       <item>until</item>
0050     </list>
0051     <list name="controlflow_begin">
0052       <item>if</item>
0053       <item>ifdef</item>
0054       <item>iftype</item>
0055       <item>match</item>
0056       <item>while</item>
0057       <item>repeat</item>
0058       <item>for</item>
0059       <item>with</item>
0060       <item>try</item>
0061     </list>
0062     <list name="controlflow_else">
0063       <item>else</item>
0064       <item>elseif</item>
0065       <item>elseiftype</item>
0066     </list>
0067     <list name="controlflow_end">
0068       <item>end</item>
0069     </list>
0070     <list name="operators">
0071       <item>and</item>
0072       <item>or</item>
0073       <item>xor</item>
0074       <item>not</item>
0075     </list>
0076     <list name="new_overloaders">
0077       <item>create</item>
0078     </list>
0079     <list name="overloaders">
0080       <item>update</item>
0081       <item>apply</item>
0082       <item>add</item>
0083       <item>sub</item>
0084       <item>mul</item>
0085       <item>div</item>
0086       <item>mod</item>
0087       <item>eq</item>
0088       <item>ne</item>
0089       <item>lt</item>
0090       <item>le</item>
0091       <item>ge</item>
0092       <item>gt</item>
0093       <item>shl</item>
0094       <item>shr</item>
0095       <item>op_and</item>
0096       <item>op_or</item>
0097       <item>op_xor</item>
0098     </list>
0099     <list name="capability">
0100       <item>iso</item>
0101       <item>trn</item>
0102       <item>ref</item>
0103       <item>val</item>
0104       <item>box</item>
0105       <item>tag</item>
0106     </list>
0107     <list name="gencapability">
0108       <item>#read</item>
0109       <item>#send</item>
0110       <item>#share</item>
0111       <item>#alias</item>
0112       <item>#any</item>
0113     </list>
0114     <list name="keyword">
0115       <item>this</item>
0116       <item>use</item>
0117       <item>object</item>
0118       <item>as</item>
0119       <item>is</item>
0120       <item>isnt</item>
0121       <item>in</item>
0122       <item>where</item>
0123       <item>is</item>
0124       <item>consume</item>
0125       <item>addressof</item>
0126       <item>digestof</item>
0127       <!-- literal -->
0128       <item>true</item>
0129       <item>false</item>
0130       <!-- field -->
0131       <item>var</item>
0132       <item>let</item>
0133       <item>embed</item>
0134     </list>
0135     <list name="types">
0136       <item>None</item>
0137       <item>String</item>
0138       <item>Bool</item>
0139       <item>ISize</item>
0140       <item>ILong</item>
0141       <item>I8</item>
0142       <item>I16</item>
0143       <item>I32</item>
0144       <item>I64</item>
0145       <item>I128</item>
0146       <item>USize</item>
0147       <item>ULong</item>
0148       <item>U8</item>
0149       <item>U16</item>
0150       <item>U32</item>
0151       <item>U64</item>
0152       <item>U128</item>
0153       <item>F32</item>
0154       <item>F64</item>
0155     </list>
0156     <contexts>
0157       <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
0158         <DetectSpaces />
0159 
0160         <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
0161         <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
0162 
0163         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
0164         <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
0165 
0166         <RegExpr attribute="Hex" context="#stay" String="[\+\-]?0x&HEX;(?:_?&HEX;+)*\b" />
0167         <RegExpr attribute="Binary" context="#stay" String="[\+\-]?0b[01](?:_?[01]+)*\b" />
0168         <RegExpr attribute="Float" context="#stay" String="[\+\-]?[0-9](?:_?[0-9]+)*(?:\.[0-9](?:_?[0-9]+)*&EXP;?|&EXP;)\b" />
0169         <RegExpr attribute="Error" context="#stay" String="[\+\-]?[0-9](?:_?[0-9]+)*\." />
0170         <RegExpr attribute="Decimal" context="#stay" String="[\+\-]?[0-9](?:_?[0-9]+)*\b" />
0171         <RegExpr attribute="Error" context="#stay" String="[\+\-]?\.?[0-9]\w*" />
0172 
0173         <DetectChar attribute="External Function" context="External Function" char="@" />
0174         <LineContinue attribute="Error" char=";" />
0175         <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" />
0176 
0177         <keyword attribute="Data Type" context="#stay" String="types"/>
0178 
0179         <keyword attribute="Control Flow" context="#stay" String="controlflow_begin" beginRegion="Block"/>
0180         <keyword attribute="Control Flow" context="#stay" String="controlflow_else" endRegion="Block" beginRegion="Block"/>
0181         <keyword attribute="Control Flow" context="#stay" String="controlflow_end" endRegion="Block"/>
0182         <keyword attribute="Control Flow" context="#stay" String="controlflow"/>
0183         <Detect2Chars attribute="Attributes" context="Attributes" char="\" char1="\"/>
0184 
0185         <keyword attribute="Keyword" context="DefClass" String="class_def"/>
0186         <keyword attribute="Keyword" context="DefFun" String="method"/>
0187         <keyword attribute="Keyword" context="DefNew" String="method_new"/>
0188         <keyword attribute="Keyword" context="#stay" String="keyword"/>
0189 
0190         <keyword attribute="Capability" context="#stay" String="capability"/>
0191 
0192         <keyword attribute="Symbol" context="#stay" String="operators"/>
0193 
0194         <RegExpr attribute="Normal Text" context="#stay" String="&IDVAR;" />
0195 
0196         <RegExpr attribute="Char" context="#stay" String="'[^\\']'" /> <!-- only ascii char -->
0197         <RegExpr attribute="Special Char" context="#stay" String="'(?:&SPECHAR;|\\')'" />
0198         <DetectChar attribute="Error" context="#stay" char="'" />
0199         <DetectChar attribute="String" context="String" char="&quot;" />
0200 
0201         <RegExpr attribute="Data Type" context="#stay" String="&IDTYPE;" />
0202 
0203         <keyword attribute="Constraint" context="#stay" String="gencapability"/>
0204 
0205         <RegExpr attribute="Error" context="#stay" String="#\w+"/>
0206 
0207         <DetectIdentifier />
0208       </context>
0209 
0210 
0211       <context attribute="String" lineEndContext="SimpleString" name="String" fallthrough="true" fallthroughContext="SimpleString">
0212         <Detect2Chars attribute="String" context="LongString" char="&quot;" char1="&quot;"/>
0213       </context>
0214 
0215       <context attribute="String" lineEndContext="#stay" name="SimpleString">
0216         <RegExpr attribute="Special Char" context="#stay" String="&SPECHAR;|\\&quot;" />
0217         <RegExpr attribute="Error" context="#stay" String="\\." />
0218         <DetectChar attribute="String" context="#pop#pop" char="&quot;"/>
0219         <DetectIdentifier />
0220       </context>
0221 
0222       <context attribute="String" lineEndContext="#stay" name="LongString">
0223         <DetectSpaces />
0224         <RegExpr attribute="Special Char" context="#stay" String="&SPECHAR;" />
0225         <RegExpr attribute="Error" context="#stay" String="\\." />
0226         <StringDetect attribute="String" context="#pop#pop" String="&quot;&quot;&quot;"/>
0227         <DetectIdentifier />
0228       </context>
0229 
0230 
0231       <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
0232         <DetectSpaces />
0233         <IncludeRules context="##Comments" />
0234         <DetectIdentifier />
0235       </context>
0236 
0237       <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
0238         <DetectSpaces />
0239         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
0240         <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
0241         <IncludeRules context="##Comments" />
0242         <DetectIdentifier />
0243       </context>
0244 
0245 
0246       <context attribute="Normal Text" lineEndContext="#stay" name="def_base">
0247         <DetectSpaces/>
0248         <Detect2Chars attribute="Attributes" context="Attributes" char="\" char1="\"/>
0249         <keyword attribute="Capability" context="#stay" String="capability"/>
0250         <DetectChar attribute="External Function" context="#pop!External Function" char="@"/>
0251       </context>
0252 
0253       <context attribute="Normal Text" lineEndContext="#stay" name="DefNew" fallthrough="true" fallthroughContext="#pop">
0254         <IncludeRules context="def_base" />
0255         <keyword attribute="Overloaders" context="#pop" String="new_overloaders"/>
0256         <DetectIdentifier attribute="Function"/>
0257       </context>
0258 
0259       <context attribute="Normal Text" lineEndContext="#stay" name="DefFun" fallthrough="true" fallthroughContext="#pop">
0260         <IncludeRules context="def_base" />
0261         <keyword attribute="Overloaders" context="#pop" String="overloaders"/>
0262         <DetectIdentifier attribute="Function"/>
0263       </context>
0264 
0265       <context attribute="Normal Text" lineEndContext="#stay" name="DefClass" fallthrough="true" fallthroughContext="#pop">
0266         <IncludeRules context="def_base" />
0267         <RegExpr attribute="Data Type" context="#pop" String="&IDTYPE;"/>
0268         <DetectIdentifier attribute="Error" context="#pop"/>
0269       </context>
0270 
0271 
0272       <context attribute="External Function" lineEndContext="#pop" name="External Function" fallthrough="true" fallthroughContext="#pop">
0273         <DetectIdentifier attribute="External Function"/>
0274       </context>
0275 
0276 
0277       <context attribute="Attributes" lineEndContext="#pop" name="Attributes">
0278         <DetectSpaces/>
0279         <Detect2Chars attribute="Attributes" context="#pop" char="\" char1="\"/>
0280         <DetectChar attribute="Attributes" context="#stay" char=","/>
0281         <DetectIdentifier/>
0282       </context>
0283     </contexts>
0284     <itemDatas>
0285       <itemData name="Normal Text"  defStyleNum="dsNormal" spellChecking="false"/>
0286       <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>
0287       <itemData name="Keyword"      defStyleNum="dsKeyword" spellChecking="false"/>
0288       <itemData name="Data Type"    defStyleNum="dsDataType" spellChecking="false"/>
0289       <itemData name="Function"     defStyleNum="dsFunction" spellChecking="false"/>
0290       <itemData name="External Function"  defStyleNum="dsFunction" spellChecking="false"/>
0291       <itemData name="Overloaders"  defStyleNum="dsFunction" spellChecking="false"/>
0292       <itemData name="Attributes"   defStyleNum="dsAttribute" spellChecking="false"/>
0293       <itemData name="Constraint"   defStyleNum="dsAttribute" spellChecking="false"/>
0294       <itemData name="Capability"   defStyleNum="dsAttribute" spellChecking="false" bold="false" italic="true" />
0295       <itemData name="Decimal"      defStyleNum="dsDecVal" spellChecking="false"/>
0296       <itemData name="Hex"          defStyleNum="dsBaseN" spellChecking="false"/>
0297       <itemData name="Binary"       defStyleNum="dsBaseN" spellChecking="false"/>
0298       <itemData name="Float"        defStyleNum="dsFloat" spellChecking="false"/>
0299       <itemData name="Char"         defStyleNum="dsChar" spellChecking="false"/>
0300       <itemData name="Special Char" defStyleNum="dsSpecialChar" spellChecking="false"/>
0301       <itemData name="String"       defStyleNum="dsString"/>
0302       <itemData name="Comment"      defStyleNum="dsComment"/>
0303       <itemData name="Symbol"       defStyleNum="dsOperator" spellChecking="false"/>
0304       <itemData name="Error"        defStyleNum="dsError" spellChecking="false"/>
0305     </itemDatas>
0306   </highlighting>
0307   <general>
0308     <comments>
0309       <comment name="singleLine" start="//" position="afterwhitespace" />
0310       <comment name="multiLine" start="/*" end="*/" region="Comment" />
0311     </comments>
0312     <keywords casesensitive="1" weakDeliminator="#" />
0313   </general>
0314 </language>
0315 <!-- kate: indent-width 2; tab-width 2; -->