Warning, /frameworks/syntax-highlighting/data/syntax/hare.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 symbols ":!&#37;&amp;()+,-/.*&lt;=&gt;?[]|~^;">
0005 ]>
0006 <language name="Hare" section="Sources"
0007           version="1" kateversion="5.79"
0008           indenter="cstyle"
0009           extensions="*.ha"
0010           priority="1"
0011           author="Akseli Lahtinen (akselmo@akselmo.dev)"
0012           license="MIT">
0013 
0014   <highlighting>
0015     <list name="controlflow">
0016       <item>break</item>
0017       <item>case</item>
0018       <item>continue</item>
0019       <item>else</item>
0020       <item>for</item>
0021       <item>if</item>
0022       <item>return</item>
0023       <item>switch</item>
0024       <item>yield</item>
0025     </list>
0026 
0027     <list name="keywords">
0028       <item>abort</item>
0029       <item>align</item>
0030       <item>alloc</item>
0031       <item>append</item>
0032       <item>as</item>
0033       <item>assert</item>
0034       <item>def</item>
0035       <item>defer</item>
0036       <item>delete</item>
0037       <item>enum</item>
0038       <item>export</item>
0039       <item>false</item>
0040       <item>free</item>
0041       <item>insert</item>
0042       <item>is</item>
0043       <item>len</item>
0044       <item>match</item>
0045       <item>null</item>
0046       <item>offset</item>
0047       <item>true</item>
0048       <item>vaarg</item>
0049       <item>vaend</item>
0050       <item>valist</item>
0051       <item>vastart</item>
0052     </list>
0053 
0054     <list name="types">
0055       <item>u16</item>
0056       <item>u32</item>
0057       <item>u64</item>
0058       <item>u8</item>
0059       <item>uint</item>
0060       <item>uintptr</item>
0061       <item>i16</item>
0062       <item>i32</item>
0063       <item>i64</item>
0064       <item>i8</item>
0065       <item>int</item>
0066       <item>f32</item>
0067       <item>f64</item>
0068       <item>size</item>
0069       <item>rune</item>
0070       <item>union</item>
0071       <item>type</item>
0072       <item>void</item>
0073       <item>str</item>
0074       <item>bool</item>
0075       <item>struct</item>
0076       <item>static</item>
0077     </list>
0078 
0079     <list name="builtins">
0080       <item>let</item>
0081       <item>const</item>
0082       <item>nullable</item>
0083     </list>
0084 
0085     <list name="function">
0086       <item>fn</item>
0087     </list>
0088 
0089     <list name="import">
0090       <item>use</item>
0091     </list>
0092 
0093     <contexts>
0094       <context attribute="Normal Text" lineEndContext="#stay" name="Normal Text" >
0095         <Detect2Chars attribute="Comment" char="/" char1="/" context="Comment"/>
0096         <AnyChar attribute="String" context="String" String="&quot;&apos;"/>
0097         <keyword attribute="Control Flow" context="#stay" String="controlflow" />
0098         <keyword attribute="Keyword" context="#stay" String="keywords" />
0099         <keyword attribute="Data Type" context="#stay" String="types" />
0100         <keyword attribute="Built In" context="#stay" String="builtins" />
0101         <RegExpr attribute="Attribute" context="#stay" String="@\w+"/>
0102         <keyword attribute="Keyword" context="Function" String="function"/>
0103 
0104         <RegExpr attribute="Float" context="#stay" String="(\b[0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?(f32|f64)?\b)|(\b[0-9]+([eE][+-]?[0-9]+)?(f32|f64)\b)" />
0105         <RegExpr attribute="Decimal" context="#stay" String="\b[0-9]+([eE][+-]?[0-9]+)?(i|u|z|i8|i16|i32|i64|u8|u16|u32|u64)?\b" />
0106         <RegExpr attribute="BaseN" context="#stay" String="\b(0x[0-9a-fA-F]+|0o[0-7]+|0b[01]+)(i|u|z|i8|i16|i32|i64|u8|u16|u32|u64)?\b" />
0107         <AnyChar attribute="Operator" context="#stay" String="&symbols;" />
0108         <DetectChar attribute="Operator" context="#stay" char="{" beginRegion="Brace1" />
0109         <DetectChar attribute="Operator" context="#stay" char="}" endRegion="Brace1" />
0110         <keyword attribute="Use" context="#stay" String="import"/>
0111       </context>
0112 
0113       <context name="Comment" attribute="Comment" lineEndContext="#pop">
0114         <IncludeRules context="##Comments" />
0115       </context>
0116 
0117 
0118       <context name="String" attribute="String" lineEndContext="#stay">
0119           <AnyChar attribute="String" context="#pop" String="&quot;&apos;"/>
0120       </context>
0121 
0122       <context name="Function" attribute="Function" lineEndContext="#pop">
0123         <RegExpr attribute="Function" context="#stay" String="\s\w{1,}"/>
0124         <DetectChar attribute="Function" context="#pop" lookAhead="true" char="\"/>
0125       </context>
0126 
0127     </contexts>
0128     <itemDatas>
0129       <itemData name="Normal Text"  defStyleNum="dsNormal" spellChecking="false"/>
0130       <itemData name="Control Flow" defStyleNum="dsControlFlow" spellChecking="false"/>
0131       <itemData name="Keyword"      defStyleNum="dsKeyword" spellChecking="false"/>
0132       <itemData name="Data Type"    defStyleNum="dsDataType" spellChecking="false"/>
0133       <itemData name="Built In"       defStyleNum="dsBuiltIn"/>
0134       <itemData name="Attribute"       defStyleNum="dsAttribute"/>
0135       <itemData name="Function"       defStyleNum="dsFunction"/>
0136       <itemData name="Operator"       defStyleNum="dsOperator"/>
0137       <itemData name="String"       defStyleNum="dsString"/>
0138       <itemData name="Comment"      defStyleNum="dsComment"/>
0139       <itemData name="Decimal" defStyleNum="dsDecVal"/>
0140       <itemData name="Float" defStyleNum="dsFloat"/>
0141       <itemData name="BaseN" defStyleNum="dsBaseN"/>
0142       <itemData name="Use" defStyleNum="dsImport"/>
0143     </itemDatas>
0144   </highlighting>
0145   <general>
0146     <comments>
0147       <comment name="singleLine" start="//" position="afterwhitespace" />
0148     </comments>
0149   </general>
0150 </language>