<language name="React.js" version="1.0" kateversion="2.4" section="Scripts" extensions="*.js;.jsx;*.kwinscript" mimetype="text/x-javascript;application/x-javascript" indenter="cstyle" author="Carlos Andres Jimenez Chaverri, Anders Lund (anders@alweb.dk), Joseph Wenninger (jowenn@kde.org), Whitehawk Stormchaser (zerokode@gmx.net)" license="">
<highlighting>
<list name="keywords">
<item> break </item>
<item> case </item>
<item> catch </item>
<item> const </item>
<item> continue </item>
<item> debugger </item>
<item> default </item>
<item> delete </item>
<item> do </item>
<item> else </item>
<item> finally </item>
<item> for </item>
<item> function </item>
<item> if </item>
<item> in </item>
<item> instanceof </item>
<item> new </item>
<item> return </item>
<item> switch </item>
<item> this </item>
<item> throw </item>
<item> try </item>
<item> typeof </item>
<item> var </item>
<item> void </item>
<item> while </item>
<item> with </item>
</list>
<list name="reserved">
<item> class </item>
<item> enum </item>
<item> export </item>
<item> extends </item>
<item> import </item>
<item> super </item>
<item> implements </item>
<item> interface </item>
<item> let </item>
<item> package </item>
<item> private </item>
<item> protected </item>
<item> public </item>
<item> static </item>
<item> yield </item>
</list>
<list name="primitives">
<item> Infinity </item>
<item> NaN </item>
<item> false </item>
<item> null </item>
<item> true </item>
<item> undefined </item>
</list>
<contexts>
<context name="Shebang" lineendcontext="Normal" attribute="Syntax Error" fallthrough="true" fallthroughcontext="Normal">
<detect2chars column="0" char="#" char1="!" context="Comment" attribute="Comment">
</detect2chars></context>
<context attribute="Normal Text" lineendcontext="#stay" name="Normal">
<detectspaces>
<stringdetect attribute="Region Marker" context="region_marker" string="//BEGIN" beginregion="Region1">
<stringdetect attribute="Region Marker" context="region_marker" string="//END" endregion="Region1">
<float attribute="Float" context="NoRegExp">
<hlcoct attribute="Octal" context="NoRegExp">
<hlchex attribute="Hex" context="NoRegExp">
<int attribute="Decimal" context="NoRegExp">
<anychar context="NoRegExp" string="])">
<keyword attribute="Keyword" string="keywords">
<keyword attribute="Reserved" string="reserved">
<keyword attribute="Keyword" context="NoRegExp" string="primitives">
<regexpr attribute="Objects" context="Object Member" string="[a-zA-Z_$][\w$]*(?=\s*\.)">
<regexpr attribute="Object Member" context="NoRegExp" string="[a-zA-Z_$][\w$]*(?=\s*\()">
<detectchar context="Object Member" char=".">
<regexpr context="NoRegExp" string="[a-zA-Z_$][\w$]*">
<detectchar attribute="String" context="String" char=""">
<detectchar attribute="String" context="String SQ" char="'">
<includerules context="##Doxygen">
<detect2chars attribute="Comment" context="Comment" char="/" char1="/">
<detect2chars attribute="Comment" context="Multi/inline Comment" char="/" char1="*" beginregion="Comment">
<regexpr attribute="Regular Expression" context="(regex caret first check)" string="= \/">
<detectchar attribute="Symbol" context="Object" char="{" beginregion="Brace">
<detectchar attribute="Symbol" context="Conditional Expression" char="?">
<anychar attribute="Symbol" string=":!%&+,-/.*=?|~^;">
<detectchar attribute="HtmlMarkup" context="htmlmarkup" char="<">
</detectchar></anychar></detectchar></detectchar></regexpr></detect2chars></detect2chars></includerules></detectchar></detectchar></regexpr></detectchar></regexpr></regexpr></keyword></keyword></keyword></anychar></int></hlchex></hlcoct></float></stringdetect></stringdetect></detectspaces></context>
<context attribute="Normal Text" lineendcontext="#pop" fallthrough="true" fallthroughcontext="#pop" name="Object Member">
<detectchar char=".">
<regexpr attribute="Objects" context="Object Member" string="[a-zA-Z_$][\w$]*(?=\s*\.)">
<regexpr attribute="Object Member" string="[a-zA-Z_$][\w$]*">
<includerules context="NoRegExp">
</includerules></regexpr></regexpr></detectchar></context>
<context attribute="Normal Text" lineendcontext="#stay" fallthrough="true" fallthroughcontext="#pop" name="NoRegExp">
<detect2chars context="#pop" lookahead="true" char="/" char1="/">
<detect2chars context="#pop" lookahead="true" char="/" char1="*">
<detectchar context="#pop" char="/">
<detectspaces>
</detectspaces></detectchar></detect2chars></detect2chars></context>
<context attribute="Normal Text" lineendcontext="#stay" name="Conditional Expression">
<detectchar context="#pop" char=":">
<includerules context="Normal">
</includerules></detectchar></context>
<context attribute="Normal Text" lineendcontext="#stay" name="Object">
<keyword attribute="Keyword" string="keywords">
<regexpr attribute="JSON" string="[a-zA-Z_$][\w$]*\s*(?=:)">
<detectchar attribute="Symbol" char="}" endregion="Brace" context="#pop">
<includerules context="Normal">
</includerules></detectchar></regexpr></keyword></context>
<context attribute="String" lineendcontext="#pop" name="String">
<hlcstringchar attribute="Char">
<linecontinue>
<detectchar attribute="String" context="#pop" char=""">
</detectchar></linecontinue></hlcstringchar></context>
<context attribute="String" lineendcontext="#pop" name="String SQ">
<hlcstringchar attribute="Char">
<linecontinue>
<detectchar attribute="String" context="#pop" char="'">
</detectchar></linecontinue></hlcstringchar></context>
<context attribute="Comment" lineendcontext="#pop" name="Comment">
<includerules context="##Alerts">
<includerules context="##Modelines">
</includerules></includerules></context>
<context attribute="Comment" lineendcontext="#stay" name="Multi/inline Comment">
<includerules context="##Alerts">
<includerules context="##Modelines">
<detect2chars attribute="Comment" context="#pop" char="*" char1="/" endregion="Comment">
</detect2chars></includerules></includerules></context>
<context attribute="Regular Expression" lineendcontext="#stay" name="Regular Expression">
<regexpr attribute="Regular Expression" context="#pop#pop" string="/\w*">
<regexpr attribute="Pattern Internal Operator" string="\{[\d, ]+\}">
<regexpr attribute="Pattern Internal Operator" string="\\[bB]">
<regexpr attribute="Pattern Character Class" string="\\[nrtvfDdSsWw]">
<detectchar attribute="Pattern Character Class" context="(charclass caret first check)" char="[">
<regexpr attribute="Pattern Internal Operator" string="\\.">
<regexpr attribute="Pattern Internal Operator" string="\$(?=/)">
<anychar attribute="Pattern Internal Operator" string="?+*()|">
</anychar></regexpr></regexpr></detectchar></regexpr></regexpr></regexpr></regexpr></context>
<context attribute="Pattern Character Class" lineendcontext="#stay" name="Regular Expression Character Class">
<regexpr string="\\[\[\]]">
<regexpr attribute="Pattern Internal Operator" string="\\.">
<detectchar attribute="Pattern Character Class" context="#pop#pop" char="]">
</detectchar></regexpr></regexpr></context>
<context attribute="Pattern Internal Operator" lineendcontext="#pop" name="(regex caret first check)" fallthrough="true" fallthroughcontext="Regular Expression">
<detectchar attribute="Pattern Internal Operator" context="Regular Expression" char="^">
</detectchar></context>
<context attribute="Pattern Internal Operator" lineendcontext="#pop" name="(charclass caret first check)" fallthrough="true" fallthroughcontext="Regular Expression Character Class">
<detectchar attribute="Pattern Internal Operator" context="Regular Expression Character Class" char="^">
</detectchar></context>
<context name="region_marker" attribute="Region Marker" lineendcontext="#pop">
<detectidentifier>
<detectspaces>
</detectspaces></detectidentifier></context>
<context attribute="HtmlMarkup" lineendcontext="#stay" name="htmlmarkup">
<detectchar attribute="HtmlMarkup" context="#pop" char=">">
<detectchar attribute="String" context="String" char=""">
<detectchar attribute="String" context="String SQ" char="'">
<detectchar attribute="HtmlMarkupBraket" context="htmlmarkupbraket" char="{">
<regexpr attribute="Objects" context="htmlmarkupattribute" string=" \w">
<anychar attribute="Symbol" string="={}.">
</anychar></regexpr></detectchar></detectchar></detectchar></detectchar></context>
<context attribute="HtmlMarkupBraket" lineendcontext="#stay" name="htmlmarkupbraket">
<detectchar attribute="HtmlMarkupBraket" context="#pop" char="}">
<regexpr attribute="Objects" context="Object Member" string="[a-zA-Z_$][\w$]*(?=\s*\.)">
<regexpr attribute="Object Member" context="NoRegExp" string="[a-zA-Z_$][\w$]*(?=\s*\()">
<detectchar context="Object Member" char=".">
<regexpr context="NoRegExp" string="[a-zA-Z_$][\w$]*">
<anychar attribute="Symbol" string="={}.">
</anychar></regexpr></detectchar></regexpr></regexpr></detectchar></context>
<context attribute="Objects" lineendcontext="#stay" name="htmlmarkupattribute">
<detectchar attribute="Objects" context="#pop" char="=">
<anychar attribute="Symbol" string="={}.">
</anychar></detectchar></context>
</contexts>
<itemdatas>
<itemdata name="Normal Text" defstylenum="dsNormal" spellchecking="false">
<itemdata name="Keyword" defstylenum="dsKeyword" spellchecking="false">
<itemdata name="Reserved" defstylenum="dsKeyword" italic="true" spellchecking="false">
<itemdata name="Function" defstylenum="dsFunction" spellchecking="false">
<itemdata name="Objects" defstylenum="dsOthers" spellchecking="false">
<itemdata name="Object Member" defstylenum="dsFunction" spellchecking="false">
<itemdata name="Decimal" defstylenum="dsDecVal" spellchecking="false">
<itemdata name="Octal" defstylenum="dsBaseN" spellchecking="false">
<itemdata name="Hex" defstylenum="dsBaseN" spellchecking="false">
<itemdata name="Float" defstylenum="dsFloat" spellchecking="false">
<itemdata name="Char" defstylenum="dsChar" spellchecking="false">
<itemdata name="String" defstylenum="dsString">
<itemdata name="Comment" defstylenum="dsComment">
<itemdata name="Symbol" defstylenum="dsNormal" spellchecking="false">
<itemdata name="Regular Expression" defstylenum="dsOthers" spellchecking="false">
<itemdata name="Pattern Internal Operator" defstylenum="dsFloat" spellchecking="false">
<itemdata name="Pattern Character Class" defstylenum="dsBaseN" spellchecking="false">
<itemdata name="Region Marker" defstylenum="dsRegionMarker" spellchecking="false">
<itemdata name="JSON" defstylenum="dsDataType" spellchecking="false">
<itemdata name="HtmlMarkup" defstylenum="dsBaseN" spellchecking="false">
<itemdata name="HtmlMarkupBraket" defstylenum="dsBaseN" spellchecking="false">
</itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdata></itemdatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//">
<comment name="multiLine" start="/*" end="*/">
</comment></comment></comments>
<keywords casesensitive="1">
</keywords></general>
</language>