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="<>&|=(){}[]"';!%?*"/> 0096 <RegExpr attribute="Normal" context="#stay" String="[^<>&|=(){}[\]"';!%?*$]"/> 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="<>&|=(){}[]"';!%?*"/> 0219 <RegExpr attribute="Normal" context="#stay" String="[^<>&|=(){}[\]"';!%?*$]"/> 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; -->