<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE language><language name="Ninja" section="Other" version="3" kateversion="5.62" extensions="*.ninja" author="Jonathan Poelen (jonathan.poelen@gmail.com)" license="MIT"><highlighting><list name="keywords"><item>build</item><item>default</item><item>include</item><item>pool</item><item>rule</item><item>subninja</item></list><list name="other keywords"><item>console</item><item>depth</item><item>phony</item></list><list name="topVariables"><item>builddir</item><item>ninja_required_version</item></list><list name="ruleVariables"><item>command</item><item>console</item><item>depfile</item><item>deps</item><item>description</item><item>dyndep</item><item>generator</item><item>in</item><item>in_newline</item><item>msvc_deps_prefix</item><item>out</item><item>pool</item><item>restat</item><item>rspfile</item><item>rspfile_content</item></list><contexts><context name="Normal" attribute="Normal" fallthroughContext="ErrorOrComment"><DetectChar char="#" attribute="Comment" context="Comment"/><WordDetect String="build" attribute="Keyword" context="BuildStatement"/><WordDetect String="rule" attribute="Keyword" context="RuleStatement"/><WordDetect String="pool" attribute="Keyword" context="PoolStatement"/><keyword String="keywords" attribute="Keyword" context="SimpleStatement"/><keyword String="topVariables" attribute="Special Key" context="VariableAssignment"/><RegExpr String="[-_a-zA-Z0-9]+" attribute="Key" context="VariableAssignment"/></context><context name="Error" attribute="Error" lineEndContext="#pop"/><context name="Comment" attribute="Comment" lineEndContext="#pop"><DetectSpaces/><IncludeRules context="##Comments"/><DetectIdentifier attribute="Comment"/></context><context name="Dollar" attribute="Error" lineEndContext="#pop"><LineContinue char="$" attribute="Line Continuation" context="#pop!LineContinuation"/><StringDetect String="$ " attribute="Special Char" context="#pop"/><StringDetect String="$$" attribute="Special Char" context="#pop"/><StringDetect String="$:" attribute="Special Char" context="#pop"/><StringDetect String="${" attribute="Variable Delimiter" context="#pop!OpenVariableName"/><DetectChar char="$" attribute="Variable Delimiter" context="#pop!VariableName"/></context><context name="VariableAssignment" attribute="Normal" fallthroughContext="Error" lineEndContext="#pop"><DetectSpaces/><DetectChar char="=" attribute="Operator" context="#pop!Value"/></context><context name="PoolVariableAssignment" attribute="Normal" fallthroughContext="Error" lineEndContext="#pop"><DetectSpaces/><DetectChar char="=" attribute="Operator" context="#pop!PoolValue"/></context><context name="BuildDependancies" attribute="Dependancy" lineEndContext="#pop!BuildKeys"><DetectSpaces/><DetectChar char="$" attribute="Normal" context="Dollar" lookAhead="1"/><StringDetect String="|@" attribute="Operator" context="#pop!ImplicitBuildDependancies"/><DetectChar char="|" attribute="Operator" context="#pop!ImplicitBuildDependancies"/><DetectChar char=":" attribute="Error"/><RegExpr String="[^$|:]+" attribute="Dependancy"/></context><context name="BuildKeys" attribute="Normal" fallthroughContext="#pop"><DetectSpaces context="BuildKey"/><DetectChar char="#" attribute="Comment" context="Comment"/></context><context name="BuildRuleName" attribute="Normal" fallthroughContext="#pop!Error" lineEndContext="#pop"><DetectSpaces/><WordDetect String="phony" attribute="Special Rule Name" context="#pop!BuildDependancies"/><RegExpr String="[-_a-zA-Z0-9]+" attribute="Rule Name" context="#pop!BuildDependancies"/></context><context name="BuildStatement" attribute="Normal" lineEndContext="#pop"><DetectSpaces/><DetectChar char="$" attribute="Normal" context="Dollar" lookAhead="1"/><DetectChar char=":" attribute="Operator" context="#pop!BuildRuleName"/><DetectChar char="|" attribute="Operator" context="#pop!ImplicitOutput"/><RegExpr String="[^$|:]+" attribute="Normal"/></context><context name="ImplicitBuildDependancies" attribute="Implicit Dependancy" lineEndContext="#pop!BuildKeys"><DetectSpaces/><DetectChar char="$" attribute="Normal" context="Dollar" lookAhead="1"/><StringDetect String="|@" attribute="Operator"/><DetectChar char="|" attribute="Operator"/><DetectChar char=":" attribute="Error"/><RegExpr String="[^$|:]+" attribute="Implicit Dependancy"/></context><context name="LineContinuation" attribute="Line Continuation" fallthroughContext="#pop" lineEndContext="#pop"><DetectSpaces/></context><context name="BuildKey" attribute="Normal" fallthroughContext="#pop!Error" lineEndContext="#pop"><DetectChar char="#" attribute="Comment" context="#pop!Comment"/><WordDetect String="pool" attribute="Special Key" context="#pop!PoolVariableAssignment"/><keyword String="ruleVariables" attribute="Special Key" context="#pop!VariableAssignment"/><RegExpr String="[-_a-zA-Z0-9]+" attribute="Key" context="#pop!VariableAssignment"/></context><context name="ErrorOrComment" attribute="Normal" fallthroughContext="#pop!Error" lineEndContext="#pop"><DetectSpaces/><DetectChar char="#" attribute="Comment" context="Comment"/></context><context name="ImplicitOutput" attribute="Implicit Output" lineEndContext="#pop"><DetectSpaces/><DetectChar char="$" attribute="Normal" context="Dollar" lookAhead="1"/><DetectChar char=":" attribute="Operator" context="#pop!BuildRuleName"/><RegExpr String="[^$|:]+" attribute="Implicit Output"/></context><context name="OpenVariableName" attribute="Variable" fallthroughContext="Error" lineEndContext="#pop"><DetectChar char="}" attribute="Variable Delimiter" context="#pop"/><RegExpr String="[-_a-zA-Z0-9]+" attribute="Variable"/></context><context name="PoolKey" attribute="Normal" fallthroughContext="#pop!Error" lineEndContext="#pop"><DetectChar char="#" attribute="Comment" context="#pop!Comment"/><WordDetect String="depth" attribute="Special Key" context="#pop!PoolVariableAssignment"/></context><context name="PoolKeys" attribute="Normal" fallthroughContext="#pop"><DetectSpaces context="PoolKey"/><DetectChar char="#" attribute="Comment" context="Comment"/></context><context name="PoolStatement" attribute="Normal" fallthroughContext="#pop!Error" lineEndContext="#pop"><DetectSpaces/><RegExpr String="[-_a-zA-Z0-9]+" attribute="Normal" context="#pop!PoolKeys"/></context><context name="PoolValue" attribute="Normal" lineEndContext="#pop"><DetectSpaces/><DetectChar char="$" attribute="Normal" context="Dollar" lookAhead="1"/><WordDetect String="console" attribute="Special Value" context="BuildStatement"/><RegExpr String="[-_a-zA-Z0-9]+" attribute="Normal"/></context><context name="RuleDollar" attribute="Error" lineEndContext="#pop"><LineContinue char="$" attribute="Line Continuation" context="#pop!LineContinuation"/><StringDetect String="$ " attribute="Special Char" context="#pop"/><StringDetect String="$$" attribute="Special Char" context="#pop"/><StringDetect String="$:" attribute="Special Char" context="#pop"/><StringDetect String="${" attribute="Variable Delimiter" context="#pop!RuleOpenVariableName"/><DetectChar char="$" attribute="Variable Delimiter" context="#pop!RuleVariableName"/></context><context name="RuleKey" attribute="Normal" fallthroughContext="#pop!Error" lineEndContext="#pop"><DetectChar char="#" attribute="Comment" context="#pop!Comment"/><WordDetect String="pool" attribute="Special Key" context="#pop!PoolVariableAssignment"/><keyword String="ruleVariables" attribute="Special Key" context="#pop!RuleVariableAssignment"/></context><context name="RuleKeys" attribute="Normal" fallthroughContext="#pop"><DetectSpaces context="RuleKey"/><DetectChar char="#" attribute="Comment" context="Comment"/></context><context name="RuleOpenVariableName" attribute="Variable" fallthroughContext="Error" lineEndContext="#pop"><DetectChar char="}" attribute="Variable Delimiter" context="#pop"/><keyword String="ruleVariables" attribute="Special Variable"/><RegExpr String="[-_a-zA-Z0-9]+" attribute="Variable"/></context><context name="RuleStatement" attribute="Normal" fallthroughContext="Error" lineEndContext="#pop"><DetectSpaces/><RegExpr String="[-_a-zA-Z0-9]+" attribute="Normal" context="#pop!RuleKeys"/></context><context name="RuleValue" attribute="Normal" lineEndContext="#pop"><DetectSpaces/><DetectChar char="$" attribute="Normal" context="RuleDollar" lookAhead="1"/><AnyChar String="&lt;>&amp;|=(){}[]&#34;';!%?*" attribute="Symbol"/><RegExpr String="[^&lt;>&amp;|=(){}[\]&#34;';!%?*$]" attribute="Normal"/></context><context name="RuleVariableAssignment" attribute="Normal" fallthroughContext="Error" lineEndContext="#pop"><DetectSpaces/><DetectChar char="=" attribute="Operator" context="#pop!RuleValue"/></context><context name="RuleVariableName" attribute="Variable" fallthroughContext="Error" lineEndContext="#pop"><keyword String="ruleVariables" attribute="Special Variable" context="#pop"/><RegExpr String="[-_a-zA-Z0-9]+" attribute="Variable" context="#pop"/></context><context name="SimpleStatement" attribute="Normal" fallthroughContext="#pop!Error" lineEndContext="#pop"><DetectChar char="$" attribute="Normal" context="Dollar" lookAhead="1"/><RegExpr String="[^$|:]+" attribute="Normal"/></context><context name="Value" attribute="Normal" lineEndContext="#pop"><DetectSpaces/><DetectChar char="$" attribute="Normal" context="Dollar" lookAhead="1"/><AnyChar String="&lt;>&amp;|=(){}[]&#34;';!%?*" attribute="Symbol"/><RegExpr String="[^&lt;>&amp;|=(){}[\]&#34;';!%?*$]" attribute="Normal"/></context><context name="VariableName" attribute="Variable" fallthroughContext="Error" lineEndContext="#pop"><RegExpr String="[-_a-zA-Z0-9]+" attribute="Variable" context="#pop"/></context></contexts><itemDatas><itemData name="Normal" defStyleNum="dsNormal" spellChecking="0"/><itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="0"/><itemData name="Comment" defStyleNum="dsComment"/><itemData name="Rule Name" defStyleNum="dsFunction" spellChecking="0"/><itemData name="Special Rule Name" defStyleNum="dsBuiltIn" spellChecking="0"/><itemData name="Dependancy" defStyleNum="dsNormal" spellChecking="0"/><itemData name="Implicit Dependancy" defStyleNum="dsNormal" italic="1" spellChecking="0"/><itemData name="Implicit Output" defStyleNum="dsNormal" italic="1" spellChecking="0"/><itemData name="Special Key" defStyleNum="dsBuiltIn" spellChecking="0"/><itemData name="Key" defStyleNum="dsVariable" spellChecking="0"/><itemData name="Variable Delimiter" defStyleNum="dsOperator" spellChecking="0"/><itemData name="Special Variable" defStyleNum="dsBuiltIn" spellChecking="0"/><itemData name="Variable" defStyleNum="dsVariable" spellChecking="0"/><itemData name="Special Value" defStyleNum="dsBuiltIn" spellChecking="0"/><itemData name="Operator" defStyleNum="dsOperator" spellChecking="0"/><itemData name="Line Continuation" defStyleNum="dsSpecialChar" spellChecking="0"/><itemData name="Special Char" defStyleNum="dsSpecialChar" spellChecking="0"/><itemData name="Symbol" defStyleNum="dsNormal" bold="1" spellChecking="0"/><itemData name="Error" defStyleNum="dsError" spellChecking="0"/></itemDatas></highlighting><general><comments><comment name="singleLine" start="#"/></comments></general></language>