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

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 <!-- Based on Python syntax highlighting v1.99 by Primoz Anzur, Paul Giannaros, Michael Bueker, Per Wigren -->
0004 <!-- Also based on boo.lang from gtksourceview -->
0005 <language name="Boo" version="10" kateversion="5.0" section="Sources" extensions="*.boo" mimetype="text/x-boo" casesensitive="1" author="Marc Dassonneville" license="LGPL">
0006         <highlighting>
0007                 <list name="namespace">
0008                         <item>import</item>
0009                         <item>from</item>
0010                         <item>as</item>
0011                         <item>namespace</item>
0012                 </list>
0013 
0014                 <list name="operators">
0015                         <item>and</item>
0016                         <item>assert</item>
0017                         <item>in</item>
0018                         <item>is</item>
0019                         <item>not</item>
0020                         <item>or</item>
0021                 </list>
0022 
0023                 <list name="primitive">
0024                         <item>bool</item>
0025                         <item>byte</item>
0026                         <item>sbyte</item>
0027                         <item>double</item>
0028                         <item>decimal</item>
0029                         <item>single</item>
0030                         <item>short</item>
0031                         <item>ushort</item>
0032                         <item>int</item>
0033                         <item>char</item>
0034                         <item>uint</item>
0035                         <item>long</item>
0036                         <item>ulong</item>
0037                         <item>object</item>
0038                         <item>duck</item>
0039                         <item>string</item>
0040                         <item>regex</item>
0041                         <item>date</item>
0042                         <item>timespan</item>
0043                 </list>
0044 
0045                 <list name="definition">
0046                         <item>abstract</item>
0047                         <item>virtual</item>
0048                         <item>override</item>
0049                         <item>static</item>
0050                         <item>final</item>
0051                         <item>transient</item>
0052                         <item>macro</item>
0053 
0054                         <item>protected</item>
0055                         <item>private</item>
0056                         <item>public</item>
0057                         <item>internal</item>
0058                         <item>partial</item>
0059 
0060                         <item>class</item>
0061                         <item>struct</item>
0062                         <item>interface</item>
0063                         <item>enum</item>
0064                         <item>callable</item>
0065                         <item>of</item>
0066 
0067                         <item>def</item>
0068                         <item>constructor</item>
0069                         <item>destructor</item>
0070 
0071                         <item>do</item>
0072                         <item>get</item>
0073                         <item>set</item>
0074                         <item>event</item>
0075 
0076                         <item>return</item>
0077                         <item>yield</item>
0078                 </list>
0079 
0080                 <list name="boolean">
0081                         <item>true</item>
0082                         <item>false</item>
0083                 </list>
0084 
0085                 <list name="literals">
0086                         <item>null</item>
0087                         <item>self</item>
0088                         <item>super</item>
0089                 </list>
0090 
0091                 <list name="keywords">
0092                         <item>and</item>
0093                         <item>break</item>
0094                         <item>cast</item>
0095                         <item>continue</item>
0096                         <item>elif</item>
0097                         <item>else</item>
0098                         <item>except</item>
0099                         <item>ensure</item>
0100                         <item>for</item>
0101                         <item>given</item>
0102                         <item>goto</item>
0103                         <item>if</item>
0104                         <item>in</item>
0105                         <item>is</item>
0106                         <item>isa</item>
0107                         <item>not</item>
0108                         <item>or</item>
0109                         <item>otherwise</item>
0110                         <item>pass</item>
0111                         <item>raise</item>
0112                         <item>try</item>
0113                         <item>unless</item>
0114                         <item>when</item>
0115                         <item>while</item>
0116                         <item>ref</item>
0117                 </list>
0118 
0119                 <list name="builtins">
0120                         <item>assert</item>
0121                         <item>__eval__</item>
0122                         <item>__switch__</item>
0123                         <item>enumerate</item>
0124                         <item>filter</item>
0125                         <item>len</item>
0126                         <item>typeof</item>
0127                         <item>map</item>
0128                         <item>max</item>
0129                         <item>min</item>
0130                         <item>property</item>
0131                         <item>using</item>
0132                         <item>getter</item>
0133                         <item>required</item>
0134                         <item>lock</item>
0135                         <item>range</item>
0136                         <item>zip</item>
0137                         <item>checked</item>
0138                         <item>unchecked</item>
0139                         <item>rawArrayIndexing</item>
0140                         <item>normalArrayIndexing</item>
0141                         <item>print</item>
0142                         <item>array</item>
0143                         <item>matrix</item>
0144                         <item>yieldAll</item>
0145                 </list>
0146 
0147                 <contexts>
0148                         <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
0149                                 <keyword attribute="Preprocessor" String="namespace" context="#stay"/>
0150                                 <keyword attribute="Definition Keyword" String="definition" context="#stay"/>
0151                                 <keyword attribute="Operator" String="operators" context="#stay"/>
0152                                 <keyword attribute="Flow Control Keyword" String="keywords" context="#stay"/>
0153                                 <keyword attribute="Builtin Function" String="builtins" context="#stay"/>
0154                                 <keyword attribute="Special Variable" String="literals" context="#stay"/>
0155                                 <keyword attribute="Special Variable" String="boolean" context="#stay"/>
0156                                 <keyword attribute="Data Type" String="primitive" context="#stay" />
0157                                 <RegExpr attribute="Normal Text" String="[a-zA-Z_][a-zA-Z_0-9]+" context="#stay"/>
0158 
0159                                 <RegExpr attribute="Complex" String=" ((?:[0-9]*\.[0-9]+|[0-9]+\.|(?:[0-9]+|[0-9]*\.[0-9]+|[0-9]+\.)[eE][+-]?[0-9]+)|[0-9]+)[jJ]" context="#stay"/>
0160                                 <RegExpr attribute="Float" String="(?:[0-9]+\.[0-9]*|\.[0-9]+)(?:[eE][0-9]+)?" context="#stay"/>
0161                                 <RegExpr attribute="Int" String="(?:[1-9][0-9]*(?:[eE][0-9]+)?|0)" context="#stay"/>
0162                                 <RegExpr attribute="Long" String="[1-9][0-9]*(?:[eE][0-9.]+)?[Ll]" context="#stay"/>
0163                                 <RegExpr attribute="Hex" String="0[Xx][0-9a-fA-F]+" context="#stay"/>
0164                                 <RegExpr attribute="Octal" String="0[1-9][0-9]*" context="#stay"/>
0165 
0166                                 <StringDetect attribute="Raw String" String="r'''" context="Raw Tripple A-string" insensitive="1"/>
0167                                 <StringDetect attribute="Raw String" String="r&quot;&quot;&quot;" context="Raw Tripple Q-string" insensitive="1"/>
0168 
0169                                 <Detect2Chars attribute="Raw String" char="r" char1="'" context="Raw A-string"/>
0170                                 <Detect2Chars attribute="Raw String" char="R" char1="'" context="Raw A-string"/>
0171                                 <Detect2Chars attribute="Raw String" char="r" char1="&quot;" context="Raw Q-string"/>
0172                                 <Detect2Chars attribute="Raw String" char="R" char1="&quot;" context="Raw Q-string"/>
0173 
0174                                 <DetectChar attribute="Comment" char="#" context="Comment"/>
0175                                 <RegExpr attribute="Comment" String="^\s*u?'''" context="Tripple A-comment" beginRegion="Tripple A-region" column="0"/>
0176                                 <RegExpr attribute="Comment" String="^\s*u?&quot;&quot;&quot;" context="Tripple Q-comment" beginRegion="Tripple Q-region" column="0"/>
0177                                 <Detect2Chars attribute="Comment" char="/" char1="/" context="Comment SlashSlash"/>
0178 
0179                                 <StringDetect attribute="String" String="'''" context="Tripple A-string" beginRegion="Tripple A-region"/>
0180                                 <StringDetect attribute="String" String="&quot;&quot;&quot;" context="Tripple Q-string" beginRegion="Tripple Q-region"/>
0181                                 <DetectChar attribute="String" char="'" context="Single A-string"/>
0182                                 <DetectChar attribute="String" char="&quot;" context="Single Q-string"/>
0183 
0184                                 <DetectChar attribute="Operator" char="(" context="parenthesised" beginRegion="parenthesis"/>
0185                                 <DetectChar attribute="Operator" char=")" context="#pop" endRegion="parenthesis"/>
0186 
0187                                 <Detect2Chars attribute="Operator" char="[" char1="|" context="Quasi-Quotation" beginRegion="qq"/>
0188                                 <Detect2Chars attribute="Operator" char="|" char1="]" context="#pop" endRegion="qq"/>
0189 
0190                                 <AnyChar attribute="Operator" String="+*/%|=;!&lt;&gt;!^&amp;~-" context="#stay"/>
0191                         </context>
0192 
0193                         <context name="parenthesised" attribute="Normal Text" lineEndContext="#stay" noIndentationBasedFolding="true">
0194                                 <IncludeRules context="Normal" />
0195                         </context>
0196 
0197                         <context name="Quasi-Quotation" attribute="Operator" lineEndContext="#stay" noIndentationBasedFolding="true">
0198                                 <IncludeRules context="Normal" />
0199                         </context>
0200 
0201                         <context name="Tripple A-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
0202                                 <StringDetect attribute="Comment" String="'''" context="#pop" endRegion="Tripple A-region"/>
0203                                 <IncludeRules context="##Comments"/>
0204                         </context>
0205 
0206                         <context name="Tripple Q-comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="true">
0207                                 <HlCChar attribute="Comment" context="#stay"/>
0208                                 <StringDetect attribute="Comment" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
0209                                 <IncludeRules context="##Comments"/>
0210                         </context>
0211 
0212                         <context name="Tripple A-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
0213                                 <HlCStringChar attribute="String Char" context="#stay"/>
0214                                 <RegExpr attribute="String Substitution" String="%(\([a-zA-Z0-9_]+\))?[a-zA-Z]" context="#stay"/>
0215                                 <StringDetect attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
0216                         </context>
0217 
0218                         <context name="Raw Tripple A-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
0219                                 <HlCStringChar attribute="Raw String" context="#stay"/>
0220                                 <RegExpr attribute="String Substitution" String="%(\([a-zA-Z0-9_]+\))?[a-zA-Z]" context="#stay"/>
0221                                 <StringDetect attribute="String" String="'''" context="#pop" endRegion="Tripple A-region"/>
0222                         </context>
0223 
0224                         <context name="Tripple Q-string" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="true">
0225                                 <HlCStringChar attribute="String Char" context="#stay"/>
0226                                 <RegExpr attribute="String Substitution" String="%(\([a-zA-Z0-9_]+\))?[a-zA-Z]" context="#stay"/>
0227                                 <StringDetect attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
0228                         </context>
0229 
0230                         <context name="Raw Tripple Q-string" attribute="Raw String" lineEndContext="#stay" noIndentationBasedFolding="true">
0231                                 <HlCStringChar attribute="Raw String" context="#stay"/>
0232                                 <RegExpr attribute="String Substitution" String="%(\([a-zA-Z0-9_]+\))?[a-zA-Z]" context="#stay"/>
0233                                 <StringDetect attribute="String" String="&quot;&quot;&quot;" context="#pop" endRegion="Tripple Q-region"/>
0234                         </context>
0235 
0236                         <context name="Comment SlashSlash" attribute="Comment" lineEndContext="#pop" >
0237                                 <LineContinue attribute="Comment" context="#stay"/>
0238                                 <IncludeRules context="##Comments"/>
0239                         </context>
0240 
0241                         <context name="Single A-string" attribute="String" lineEndContext="#stay">
0242                                 <HlCStringChar attribute="String Char" context="#stay"/>
0243                                 <RegExpr attribute="String Substitution" String="%(\([a-zA-Z0-9_]+\))?[a-zA-Z]" context="#stay"/>
0244                                 <DetectChar attribute="String" char="'" context="#pop"/>
0245                         </context>
0246 
0247                         <context name="Single Q-string" attribute="String" lineEndContext="#stay">
0248                                 <HlCStringChar attribute="String Char" context="#stay"/>
0249                                 <RegExpr attribute="String Substitution" String="%(\([a-zA-Z0-9_]+\))?[a-zA-Z]" context="#stay"/>
0250                                 <DetectChar attribute="String" char="&quot;" context="#pop"/>
0251                         </context>
0252 
0253                         <context name="Raw A-string" attribute="Raw String" lineEndContext="#stay">
0254                                 <HlCStringChar attribute="Raw String" context="#stay"/>
0255                                 <RegExpr attribute="String Substitution" String="%(\([a-zA-Z0-9_]+\))?[a-zA-Z]" context="#stay"/>
0256                                 <DetectChar attribute="Raw String" char="'" context="#pop"/>
0257                         </context>
0258 
0259                         <context name="Raw Q-string" attribute="Raw String" lineEndContext="#stay">
0260                                 <HlCStringChar attribute="Raw String" context="#stay"/>
0261                                 <RegExpr attribute="String Substitution" String="%(\([a-zA-Z0-9_]+\))?[a-zA-Z]" context="#stay"/>
0262                                 <DetectChar attribute="Raw String" char="&quot;" context="#pop"/>
0263                         </context>
0264 
0265                         <context name="Comment" attribute="Comment" lineEndContext="#pop">
0266                                 <IncludeRules context="##Comments"/>
0267                         </context>
0268                 </contexts>
0269 
0270 
0271                 <itemDatas>
0272                         <itemData name="Normal Text" defStyleNum="dsNormal"/>
0273                         <itemData name="Definition Keyword" defStyleNum="dsKeyword"/>
0274                         <itemData name="Data Type" defStyleNum="dsDataType"/>
0275                         <itemData name="Operator" defStyleNum="dsOperator" />
0276                         <itemData name="String Substitution" defStyleNum="dsNormal"/>
0277                         <itemData name="Flow Control Keyword" defStyleNum="dsControlFlow"/>
0278                         <itemData name="Builtin Function" defStyleNum="dsDataType"/>
0279                         <itemData name="Special Variable" defStyleNum="dsOthers"/>
0280                         <itemData name="Preprocessor" defStyleNum="dsChar"/>
0281                         <itemData name="String Char" defStyleNum="dsSpecialChar"/>
0282                         <itemData name="Long" defStyleNum="dsOthers"/>
0283                         <itemData name="Float" defStyleNum="dsFloat"/>
0284                         <itemData name="Int" defStyleNum="dsDecVal"/>
0285                         <itemData name="Hex" defStyleNum="dsOthers"/>
0286                         <itemData name="Octal" defStyleNum="dsOthers"/>
0287                         <itemData name="Complex" defStyleNum="dsOthers"/>
0288                         <itemData name="Comment" defStyleNum="dsComment"/>
0289                         <itemData name="String" defStyleNum="dsString"/>
0290                         <itemData name="Raw String" defStyleNum="dsVerbatimString"/>
0291                 </itemDatas>
0292         </highlighting>
0293         <general>
0294                 <folding indentationsensitive="1" />
0295                 <emptyLines>
0296                         <emptyLine regexpr="\s+"/>
0297                         <emptyLine regexpr="\s*#.*$"/>
0298                 </emptyLines>
0299                 <comments>
0300                         <comment name="singleLine" start="#" position="afterwhitespace"/>
0301                 </comments>
0302                 <keywords casesensitive="1" />
0303         </general>
0304 </language>
0305 <!-- kate: replace-tabs off; -->