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

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language[
0003   <!ENTITY ident "[-_a-zA-Z0-9]+">
0004   <!ENTITY deplist "[^$|:]+">
0005 ]>
0006 <language
0007   name="Ninja" section="Other"
0008   version="3" kateversion="5.0"
0009   extensions="*.ninja"
0010   author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT"
0011 >
0012   <highlighting>
0013     <list name="keywords">
0014       <item>rule</item>
0015       <item>build</item>
0016       <item>pool</item>
0017       <item>default</item>
0018       <item>include</item>
0019       <item>subninja</item>
0020     </list>
0021 
0022     <list name="other keywords">
0023       <item>console</item>
0024       <item>phony</item>
0025       <item>depth</item>
0026     </list>
0027 
0028     <list name="topVariables">
0029       <item>builddir</item>
0030       <item>ninja_required_version</item>
0031     </list>
0032 
0033     <list name="ruleVariables">
0034       <item>command</item>
0035       <item>console</item>
0036       <item>depfile</item>
0037       <item>deps</item>
0038       <item>msvc_deps_prefix</item>
0039       <item>description</item>
0040       <item>dyndep</item>
0041       <item>generator</item>
0042       <item>in</item>
0043       <item>in_newline</item>
0044       <item>out</item>
0045       <item>pool</item>
0046       <item>restat</item>
0047       <item>rspfile</item>
0048       <item>rspfile_content</item>
0049     </list>
0050 
0051     <contexts>
0052       <context attribute="Normal" name="Normal" lineEndContext="#stay" fallthrough="1" fallthroughContext="ErrorOrComment">
0053         <DetectChar attribute="Comment" context="Comment" char="#"/>
0054         <WordDetect attribute="Keyword" context="BuildStatement" String="build"/>
0055         <WordDetect attribute="Keyword" context="RuleStatement" String="rule"/>
0056         <WordDetect attribute="Keyword" context="PoolStatement" String="pool"/>
0057         <keyword attribute="Keyword" context="SimpleStatement" String="keywords"/>
0058         <keyword attribute="Special Key" context="VariableAssignment" String="topVariables"/>
0059         <RegExpr attribute="Key" context="VariableAssignment" String="&ident;"/>
0060       </context>
0061 
0062       <context attribute="Normal" name="ErrorOrComment" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop!Error">
0063         <DetectSpaces/>
0064         <DetectChar attribute="Comment" context="Comment" char="#"/>
0065       </context>
0066 
0067       <context attribute="Error" name="Error" lineEndContext="#pop"/>
0068 
0069       <!-- rule -->
0070 
0071       <context attribute="Normal" name="RuleStatement" lineEndContext="#pop" fallthrough="1" fallthroughContext="Error">
0072         <DetectSpaces/>
0073         <RegExpr attribute="Normal" context="#pop!RuleKeys" String="&ident;"/>
0074       </context>
0075 
0076       <context attribute="Normal" name="RuleKeys" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">
0077         <DetectSpaces context="RuleKey"/>
0078         <DetectChar attribute="Comment" context="Comment" char="#"/>
0079       </context>
0080 
0081       <context attribute="Normal" name="RuleKey" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop!Error">
0082         <DetectChar attribute="Comment" context="#pop!Comment" char="#"/>
0083         <WordDetect attribute="Special Key" context="#pop!PoolVariableAssignment" String="pool"/>
0084         <keyword attribute="Special Key" context="#pop!RuleVariableAssignment" String="ruleVariables"/>
0085       </context>
0086 
0087       <context attribute="Normal" name="RuleVariableAssignment" lineEndContext="#pop" fallthrough="1" fallthroughContext="Error">
0088         <DetectSpaces/>
0089         <DetectChar attribute="Operator" context="#pop!RuleValue" char="="/>
0090       </context>
0091 
0092       <context attribute="Normal" name="RuleValue" lineEndContext="#pop">
0093         <DetectSpaces/>
0094         <DetectChar attribute="Normal" context="RuleDollar" char="$" lookAhead="true"/>
0095         <AnyChar attribute="Symbol" context="#stay" String="&lt;>&amp;|=(){}[]&quot;';!%?*"/>
0096         <RegExpr attribute="Normal" context="#stay" String="[^&lt;>&amp;|=(){}[\]&quot;';!%?*$]"/>
0097       </context>
0098 
0099       <context attribute="Error" name="RuleDollar" lineEndContext="#pop">
0100         <LineContinue attribute="Line Continuation" context="#pop!LineContinuation" char="$"/>
0101         <Detect2Chars attribute="Special Char" context="#pop" char="$" char1=" "/>
0102         <Detect2Chars attribute="Special Char" context="#pop" char="$" char1="$"/>
0103         <Detect2Chars attribute="Special Char" context="#pop" char="$" char1=":"/>
0104         <Detect2Chars attribute="Variable Delimiter" context="#pop!RuleOpenVariableName" char="$" char1="{"/>
0105         <DetectChar attribute="Variable Delimiter" context="#pop!RuleVariableName" char="$"/>
0106       </context>
0107 
0108       <context attribute="Variable" name="RuleOpenVariableName" lineEndContext="#pop" fallthrough="1" fallthroughContext="Error">
0109         <DetectChar attribute="Variable Delimiter" context="#pop" char="}"/>
0110         <keyword attribute="Special Variable" context="#stay" String="ruleVariables"/>
0111         <RegExpr attribute="Variable" context="#stay" String="&ident;"/>
0112       </context>
0113 
0114       <context attribute="Variable" name="RuleVariableName" lineEndContext="#pop" fallthrough="1" fallthroughContext="Error">
0115         <keyword attribute="Special Variable" context="#pop" String="ruleVariables"/>
0116         <RegExpr attribute="Variable" context="#pop" String="&ident;"/>
0117       </context>
0118 
0119       <!-- build -->
0120 
0121       <context attribute="Normal" name="BuildStatement" lineEndContext="#pop">
0122         <DetectSpaces/>
0123         <DetectChar attribute="Normal" context="Dollar" char="$" lookAhead="true"/>
0124         <DetectChar attribute="Operator" context="#pop!BuildRuleName" char=":"/>
0125         <DetectChar attribute="Operator" context="#pop!ImplicitOutput" char="|"/>
0126         <RegExpr attribute="Normal" context="#stay" String="&deplist;"/>
0127       </context>
0128 
0129       <context attribute="Implicit Output" name="ImplicitOutput" lineEndContext="#pop">
0130         <DetectSpaces/>
0131         <DetectChar attribute="Normal" context="Dollar" char="$" lookAhead="true"/>
0132         <DetectChar attribute="Operator" context="#pop!BuildRuleName" char=":"/>
0133         <RegExpr attribute="Implicit Output" context="#stay" String="&deplist;"/>
0134       </context>
0135 
0136       <context attribute="Normal" name="BuildRuleName" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop!Error">
0137         <DetectSpaces/>
0138         <WordDetect attribute="Special Rule Name" context="#pop!BuildDependancies" String="phony"/>
0139         <RegExpr attribute="Rule Name" context="#pop!BuildDependancies" String="&ident;"/>
0140       </context>
0141 
0142       <context attribute="Dependancy" name="BuildDependancies" lineEndContext="#pop!BuildKeys">
0143         <DetectSpaces/>
0144         <DetectChar attribute="Normal" context="Dollar" char="$" lookAhead="true"/>
0145         <Detect2Chars attribute="Operator" context="#pop!ImplicitBuildDependancies" char="|" char1="@"/>
0146         <DetectChar attribute="Operator" context="#pop!ImplicitBuildDependancies" char="|"/>
0147         <DetectChar attribute="Error" context="#stay" char=":"/>
0148         <RegExpr attribute="Dependancy" context="#stay" String="&deplist;"/>
0149       </context>
0150 
0151       <context attribute="Implicit Dependancy" name="ImplicitBuildDependancies" lineEndContext="#pop!BuildKeys">
0152         <DetectSpaces/>
0153         <DetectChar attribute="Normal" context="Dollar" char="$" lookAhead="true"/>
0154         <Detect2Chars attribute="Operator" context="#stay" char="|" char1="@"/>
0155         <DetectChar attribute="Operator" context="#stay" char="|"/>
0156         <DetectChar attribute="Error" context="#stay" char=":"/>
0157         <RegExpr attribute="Implicit Dependancy" context="#stay" String="&deplist;"/>
0158       </context>
0159 
0160       <context attribute="Normal" name="BuildKeys" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">
0161         <DetectSpaces context="BuildKey"/>
0162         <DetectChar attribute="Comment" context="Comment" char="#"/>
0163       </context>
0164 
0165       <context attribute="Normal" name="BuildKey" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop!Error">
0166         <DetectChar attribute="Comment" context="#pop!Comment" char="#"/>
0167         <WordDetect attribute="Special Key" context="#pop!PoolVariableAssignment" String="pool"/>
0168         <keyword attribute="Special Key" context="#pop!VariableAssignment" String="ruleVariables"/>
0169         <RegExpr attribute="Key" context="#pop!VariableAssignment" String="&ident;"/>
0170       </context>
0171 
0172       <!-- pool -->
0173 
0174       <context attribute="Normal" name="PoolStatement" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop!Error">
0175         <DetectSpaces/>
0176         <RegExpr attribute="Normal" context="#pop!PoolKeys" String="&ident;"/>
0177       </context>
0178 
0179       <context attribute="Normal" name="PoolKeys" lineEndContext="#stay" fallthrough="1" fallthroughContext="#pop">
0180         <DetectSpaces context="PoolKey"/>
0181         <DetectChar attribute="Comment" context="Comment" char="#"/>
0182       </context>
0183 
0184       <context attribute="Normal" name="PoolKey" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop!Error">
0185         <DetectChar attribute="Comment" context="#pop!Comment" char="#"/>
0186         <WordDetect attribute="Special Key" context="#pop!PoolVariableAssignment" String="depth"/>
0187       </context>
0188 
0189       <context attribute="Normal" name="PoolVariableAssignment" lineEndContext="#pop" fallthrough="1" fallthroughContext="Error">
0190         <DetectSpaces/>
0191         <DetectChar attribute="Operator" context="#pop!PoolValue" char="="/>
0192       </context>
0193 
0194       <context attribute="Normal" name="PoolValue" lineEndContext="#pop">
0195         <DetectSpaces/>
0196         <DetectChar attribute="Normal" context="Dollar" char="$" lookAhead="true"/>
0197         <WordDetect attribute="Special Value" context="BuildStatement" String="console"/>
0198         <RegExpr attribute="Normal" context="#stay" String="&ident;"/>
0199       </context>
0200 
0201       <!-- default, include, subninja -->
0202 
0203       <context attribute="Normal" name="SimpleStatement" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop!Error">
0204         <DetectChar attribute="Normal" context="Dollar" char="$" lookAhead="true"/>
0205         <RegExpr attribute="Normal" context="#stay" String="&deplist;"/>
0206       </context>
0207 
0208       <!-- Value -->
0209 
0210       <context attribute="Normal" name="VariableAssignment" lineEndContext="#pop" fallthrough="1" fallthroughContext="Error">
0211         <DetectSpaces/>
0212         <DetectChar attribute="Operator" context="#pop!Value" char="="/>
0213       </context>
0214 
0215       <context attribute="Normal" name="Value" lineEndContext="#pop">
0216         <DetectSpaces/>
0217         <DetectChar attribute="Normal" context="Dollar" char="$" lookAhead="true"/>
0218         <AnyChar attribute="Symbol" context="#stay" String="&lt;>&amp;|=(){}[]&quot;';!%?*"/>
0219         <RegExpr attribute="Normal" context="#stay" String="[^&lt;>&amp;|=(){}[\]&quot;';!%?*$]"/>
0220       </context>
0221 
0222       <!-- $ -->
0223 
0224       <context attribute="Error" name="Dollar" lineEndContext="#pop">
0225         <LineContinue attribute="Line Continuation" context="#pop!LineContinuation" char="$"/>
0226         <Detect2Chars attribute="Special Char" context="#pop" char="$" char1=" "/>
0227         <Detect2Chars attribute="Special Char" context="#pop" char="$" char1="$"/>
0228         <Detect2Chars attribute="Special Char" context="#pop" char="$" char1=":"/>
0229         <Detect2Chars attribute="Variable Delimiter" context="#pop!OpenVariableName" char="$" char1="{"/>
0230         <DetectChar attribute="Variable Delimiter" context="#pop!VariableName" char="$"/>
0231       </context>
0232 
0233       <context attribute="Variable" name="OpenVariableName" lineEndContext="#pop" fallthrough="1" fallthroughContext="Error">
0234         <DetectChar attribute="Variable Delimiter" context="#pop" char="}"/>
0235         <RegExpr attribute="Variable" context="#stay" String="&ident;"/>
0236       </context>
0237 
0238       <context attribute="Variable" name="VariableName" lineEndContext="#pop" fallthrough="1" fallthroughContext="Error">
0239         <RegExpr attribute="Variable" context="#pop" String="&ident;"/>
0240       </context>
0241 
0242       <context attribute="Line Continuation" name="LineContinuation" lineEndContext="#pop" fallthrough="1" fallthroughContext="#pop">
0243         <DetectSpaces/>
0244       </context>
0245 
0246       <!-- comment -->
0247 
0248       <context attribute="Comment" lineEndContext="#pop" name="Comment">
0249         <DetectSpaces/>
0250         <IncludeRules context="##Comments" />
0251         <DetectIdentifier attribute="Comment" />
0252       </context>
0253 
0254     </contexts>
0255 
0256     <itemDatas>
0257       <itemData name="Normal" defStyleNum="dsNormal" spellChecking="0"/>
0258       <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="0"/>
0259       <itemData name="Comment" defStyleNum="dsComment"/>
0260       <itemData name="Rule Name" defStyleNum="dsFunction" spellChecking="0"/>
0261       <itemData name="Special Rule Name" defStyleNum="dsBuiltIn" spellChecking="0"/>
0262       <itemData name="Dependancy" defStyleNum="dsNormal" spellChecking="0"/>
0263       <itemData name="Implicit Dependancy" defStyleNum="dsNormal" italic="1" spellChecking="0"/>
0264       <itemData name="Implicit Output" defStyleNum="dsNormal" italic="1" spellChecking="0"/>
0265       <itemData name="Special Key" defStyleNum="dsBuiltIn" spellChecking="0"/>
0266       <itemData name="Key" defStyleNum="dsVariable" spellChecking="0"/>
0267       <itemData name="Variable Delimiter" defStyleNum="dsOperator" spellChecking="0"/>
0268       <itemData name="Special Variable" defStyleNum="dsBuiltIn" spellChecking="0"/>
0269       <itemData name="Variable" defStyleNum="dsVariable" spellChecking="0"/>
0270       <itemData name="Special Value" defStyleNum="dsBuiltIn" spellChecking="0"/>
0271       <itemData name="Operator" defStyleNum="dsOperator" spellChecking="0"/>
0272       <itemData name="Line Continuation" defStyleNum="dsSpecialChar" spellChecking="0"/>
0273       <itemData name="Special Char" defStyleNum="dsSpecialChar" spellChecking="0"/>
0274       <itemData name="Symbol" defStyleNum="dsNormal" bold="1" spellChecking="0"/>
0275       <itemData name="Error" defStyleNum="dsError" spellChecking="0"/>
0276     </itemDatas>
0277   </highlighting>
0278   <general>
0279     <comments>
0280       <comment name="singleLine" start="#"/>
0281     </comments>
0282   </general>
0283 </language>
0284 <!-- kate: space-indent on; indent-width 2; replace-tabs on; -->