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 ":!&()%+-/.*<=>?[]{|}~^,;">
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=""" />
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=""" char1="""/>
0213 </context>
0214
0215 <context attribute="String" lineEndContext="#stay" name="SimpleString">
0216 <RegExpr attribute="Special Char" context="#stay" String="&SPECHAR;|\\"" />
0217 <RegExpr attribute="Error" context="#stay" String="\\." />
0218 <DetectChar attribute="String" context="#pop#pop" char="""/>
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="""""/>
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; -->