Warning, /frameworks/syntax-highlighting/data/syntax/coffee.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!DOCTYPE language> 0003 0004 <language name="CoffeeScript" 0005 version="15" 0006 kateversion="5.53" 0007 section="Scripts" 0008 extensions="Cakefile;*.coffee;*.coco;*.cson" 0009 mimetype="text/x-coffeescript;application/x-coffeescript;application/vnd.coffeescript" 0010 indenter="python" 0011 casesensitive="1" 0012 author="Max Shawabkeh (max99x@gmail.com)" 0013 license="MIT"> 0014 <highlighting> 0015 <!-- Built-in constants. --> 0016 <list name="value_keywords"> 0017 <item>false</item> 0018 <item>true</item> 0019 <item>yes</item> 0020 <item>no</item> 0021 <item>on</item> 0022 <item>off</item> 0023 <item>undefined</item> 0024 <item>null</item> 0025 <item>NaN</item> 0026 <item>Infinity</item> 0027 </list> 0028 <!-- Generic keywords. --> 0029 <list name="keywords"> 0030 <item>return</item> 0031 <item>break</item> 0032 <item>continue</item> 0033 <item>throw</item> 0034 <item>for</item> 0035 <item>while</item> 0036 <item>until</item> 0037 <item>loop</item> 0038 <item>if</item> 0039 <item>else</item> 0040 <item>unless</item> 0041 <item>switch</item> 0042 <item>when</item> 0043 <item>then</item> 0044 <item>and</item> 0045 <item>or</item> 0046 <item>in</item> 0047 <item>do</item> 0048 <item>of</item> 0049 <item>by</item> 0050 <item>is</item> 0051 <item>isnt</item> 0052 <item>not</item> 0053 <item>typeof</item> 0054 <item>delete</item> 0055 <item>where</item> 0056 <item>super</item> 0057 <item>try</item> 0058 <item>catch</item> 0059 <item>finally</item> 0060 <item>try</item> 0061 <item>catch</item> 0062 <item>finally</item> 0063 <item>constructor</item> 0064 </list> 0065 <!-- Keywords which are always followed by a class name. --> 0066 <list name="class_keywords"> 0067 <item>class</item> 0068 <item>extends</item> 0069 <item>new</item> 0070 <item>instanceof</item> 0071 </list> 0072 <!-- Reserved words. --> 0073 <list name="reserved"> 0074 <item>case</item> 0075 <item>default</item> 0076 <item>function</item> 0077 <item>var</item> 0078 <item>void</item> 0079 <item>with</item> 0080 <item>const</item> 0081 <item>let</item> 0082 <item>enum</item> 0083 <item>export</item> 0084 <item>import</item> 0085 <item>native</item> 0086 <item>__hasProp</item> 0087 <item>__extends</item> 0088 <item>__slice</item> 0089 <item>__bind</item> 0090 <item>__indexOf</item> 0091 </list> 0092 <!-- Built-in globals provided in most contexts. --> 0093 <list name="globals"> 0094 <item>Object</item> 0095 <item>Number</item> 0096 <item>Boolean</item> 0097 <item>Array</item> 0098 <item>String</item> 0099 <item>RegExp</item> 0100 <item>Function</item> 0101 <item>Date</item> 0102 <item>Math</item> 0103 <item>eval</item> 0104 <item>setInterval</item> 0105 <item>clearInterval</item> 0106 <item>setTimeout</item> 0107 <item>clearTimeout</item> 0108 <item>isFinite</item> 0109 <item>isNaN</item> 0110 <item>parseFloat</item> 0111 <item>parseInt</item> 0112 <item>escape</item> 0113 <item>unescape</item> 0114 <item>console</item> 0115 <item>encodeURI</item> 0116 <item>encodeURIComponent</item> 0117 <item>decodeURI</item> 0118 <item>decodeURIComponent</item> 0119 </list> 0120 <!-- Built-in globals provided in browser context. --> 0121 <list name="browser_globals"> 0122 <item>window</item> 0123 <item>document</item> 0124 <item>navigator</item> 0125 <item>location</item> 0126 <item>history</item> 0127 <item>screen</item> 0128 <item>alert</item> 0129 <item>prompt</item> 0130 </list> 0131 <!-- Built-in globals provided in Node.js context. --> 0132 <list name="nodejs_globals"> 0133 <item>process</item> 0134 <item>GLOBAL</item> 0135 <item>require</item> 0136 <item>exports</item> 0137 </list> 0138 <!-- Context-sensitive highlighting rules. --> 0139 <contexts> 0140 <!-- Generic code. --> 0141 <context name="Normal" attribute="Normal" lineEndContext="#stay"> 0142 <DetectSpaces/> 0143 <!-- Numbers. --> 0144 <Float attribute="Float" context="#stay"/> 0145 <Int attribute="Decimal" context="#stay"/> 0146 <HlCOct attribute="Oct" context="#stay"/> 0147 <HlCHex attribute="Hex" context="#stay"/> 0148 <!-- Keywords. --> 0149 <keyword attribute="Keyword" context="#stay" String="keywords"/> 0150 <keyword attribute="Keyword" context="Class" String="class_keywords"/> 0151 <keyword attribute="Value Keywords" context="#stay" String="value_keywords"/> 0152 <keyword attribute="Reserved" context="#stay" String="reserved"/> 0153 <!-- Globals. --> 0154 <keyword attribute="Globals" context="#stay" String="globals"/> 0155 <keyword attribute="Browser Globals" context="#stay" String="browser_globals"/> 0156 <keyword attribute="Node.js Globals" context="#stay" String="nodejs_globals"/> 0157 <!-- Member accessors. --> 0158 <RegExpr attribute="Accessor" context="#stay" String="(?:@[_$a-zA-Z][$\w]*|\bthis)\b" insensitive="false"/> 0159 <!-- Function definitions. Matches an optional argument list followed by a function arrow (normal or fat). --> 0160 <RegExpr attribute="Function" context="#stay" String="(?:\((?:\'[^']*'|"[^"]*"|[^()])*\))?\s*(?:\-|=)>" insensitive="true"/> 0161 <!-- Generic identifiers. --> 0162 <RegExpr attribute="Identifier" context="#stay" String="[_$a-z][$\w]*\b" insensitive="true"/> 0163 <!-- Strings. --> 0164 <StringDetect attribute="String" context="Heredoc" String="'''" beginRegion="Heredoc"/> 0165 <StringDetect attribute="String" context="Rich Heredoc" String=""""" beginRegion="Rich Heredoc"/> 0166 <DetectChar attribute="String" context="String" char="'"/> 0167 <DetectChar attribute="String" context="Rich String" char="""/> 0168 <!-- Embedded JavaScript. --> 0169 <StringDetect attribute="Javascript" context="Javascript Triple Backticks" String="```" beginRegion="Javascript TB"/> 0170 <DetectChar attribute="Javascript" context="Javascript" char="`" beginRegion="Javascript"/> 0171 <!-- Comments. --> 0172 <StringDetect attribute="Comment" context="Multiline Comment" String="###" beginRegion="Comment"/> 0173 <DetectChar attribute="Comment" context="Comment" char="#"/> 0174 <!-- Regular expressions. --> 0175 <StringDetect attribute="Regex" context="Multiline Regex" String="///" beginRegion="Multiline Regex"/> 0176 <RegExpr attribute="Regex" context="#stay" String="/(?:[^/\\\r\n]|\\.)*/[mig]{0,3}"/> 0177 <!-- Member objects. --> 0178 <DetectChar attribute="Symbol" context="Member Object" char="."/> 0179 <!-- Operators and other non-alphanumeric symbols. --> 0180 <AnyChar attribute="Symbol" context="#stay" String="():!%&+,-/.*<=>?[]|~^;{}"/> 0181 </context> 0182 <!-- Multiline regular expressions. --> 0183 <context name="Multiline Regex" attribute="Regex" lineEndContext="#stay" noIndentationBasedFolding="1"> 0184 <HlCStringChar attribute="Regex" context="#stay"/> 0185 <DetectChar attribute="Comment" context="Comment" char="#"/> 0186 <RegExpr attribute="Regex" context="#pop" String="///[mig]{0,3}" endRegion="Multiline Regex"/> 0187 </context> 0188 <!-- Class names. --> 0189 <context name="Class" attribute="Normal" lineEndContext="#stay"> 0190 <DetectSpaces/> 0191 <RegExpr attribute="Class" context="#pop" String="[@$:.\w\[\]]+"/> 0192 </context> 0193 <!-- Member objects. --> 0194 <context name="Member Object" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> 0195 <RegExpr attribute="Identifier" context="#pop" String="\s*[_$a-z][$\w]*" insensitive="true"/> 0196 </context> 0197 <!-- Comments. --> 0198 <context name="Comment" attribute="Comment" lineEndContext="#pop"> 0199 <IncludeRules context="##Comments"/> 0200 </context> 0201 <context name="Multiline Comment" attribute="Comment" lineEndContext="#stay" noIndentationBasedFolding="1"> 0202 <StringDetect attribute="Comment" context="#pop" String="###" endRegion="Comment"/> 0203 <IncludeRules context="##Comments"/> 0204 </context> 0205 <!-- Single-line strings. --> 0206 <context name="String" attribute="String" lineEndContext="#stay"> 0207 <IncludeRules context="Escape"/> 0208 <DetectChar attribute="String" context="#pop" char="'"/> 0209 </context> 0210 <context name="Rich String" attribute="String" lineEndContext="#stay"> 0211 <IncludeRules context="Escape"/> 0212 <Detect2Chars attribute="Embedding" context="Embedding" char="#" char1="{"/> 0213 <DetectChar attribute="String" context="#pop" char="""/> 0214 </context> 0215 <!-- Multi-line strings. --> 0216 <context name="Heredoc" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="1"> 0217 <IncludeRules context="Escape"/> 0218 <StringDetect attribute="String" context="#pop" String="'''" endRegion="Heredoc"/> 0219 </context> 0220 <context name="Rich Heredoc" attribute="String" lineEndContext="#stay" noIndentationBasedFolding="1"> 0221 <IncludeRules context="Escape"/> 0222 <Detect2Chars attribute="Embedding" context="Embedding" char="#" char1="{"/> 0223 <StringDetect attribute="String" context="#pop" String=""""" endRegion="Rich Heredoc"/> 0224 </context> 0225 <!-- Escaped characters. --> 0226 <context name="Escape" attribute="String" lineEndContext="#stay"> 0227 <!-- Hexadecimal, unicode & reserved character escape sequences. --> 0228 <RegExpr attribute="Escape" context="#stay" String="\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u\{[0-9a-fA-F]+\}|[\\0bfnrtv"'])"/> 0229 <!-- Invalid escapes. Octal escape sequences are not allowed. --> 0230 <RegExpr attribute="Error" context="#stay" String="\\[ux1-7]"/> 0231 <!-- Make any character literal. --> 0232 <RegExpr attribute="Literal Character Escape" context="#stay" String="\\."/> 0233 <LineContinue attribute="Escape" context="#stay"/> 0234 </context> 0235 <!-- Expressions embedded in strings. --> 0236 <context name="Embedding" attribute="Normal" lineEndContext="#stay"> 0237 <DetectChar attribute="Embedding" context="#pop" char="}"/> 0238 </context> 0239 0240 <!-- Embedded Javascript (one backtick). --> 0241 0242 <context name="Javascript" attribute="Normal" lineEndContext="#stay" noIndentationBasedFolding="1"> 0243 <DetectChar attribute="Javascript" context="#pop" char="`" endRegion="Javascript"/> 0244 <!-- NOTE: This hides errors where a backtick is embedded in a JS string or a comment. --> 0245 <IncludeRules context="Overwrite Javascript"/> 0246 <IncludeRules context="Normal##JavaScript" includeAttrib="true"/> 0247 </context> 0248 0249 <!-- Allow template strings in JavaScript embedded code (with one backtick). --> 0250 <context name="Overwrite Javascript" attribute="Normal" lineEndContext="#stay" noIndentationBasedFolding="1"> 0251 <!-- JavaScript Template. --> 0252 <Detect2Chars attribute="JavaScript Template" context="Javascript Template" char="\" char1="`" beginRegion="Template"/> 0253 <RegExpr context="Javascript StartRawTemplate" String="\b(String)\s*(\.)\s*(raw)\s*\\`" lookAhead="true"/> 0254 <!-- Tagged Template Literals --> 0255 <RegExpr attribute="JavaScript Function Name" context="#stay" String="[a-zA-Z_$[:^ascii:]][\w$[:^ascii:]]*(?=\s*\\`)" /> 0256 <RegExpr attribute="Error" context="#stay" String="\bString\s*\.\s*raw(?=\s*`)" /> 0257 <RegExpr attribute="Normal" context="#stay" String="[a-zA-Z_$[:^ascii:]][\w$[:^ascii:]]*(?=\s*`)" /> 0258 <!-- Contexts of javascript.xml. --> 0259 <DetectChar attribute="Normal" context="JavaScript Object" char="{" beginRegion="Brace" /> 0260 </context> 0261 <context name="JavaScript Object" attribute="Normal" lineEndContext="#stay" noIndentationBasedFolding="1"> 0262 <DetectChar context="#pop" char="`" lookAhead="true"/> 0263 <DetectChar attribute="Normal" context="#pop" char="}" endRegion="Brace"/> 0264 <IncludeRules context="Overwrite Javascript"/> 0265 <IncludeRules context="Object##JavaScript"/> 0266 </context> 0267 0268 <context name="Javascript Template" attribute="JavaScript Template" lineEndContext="#stay" noIndentationBasedFolding="1"> 0269 <StringDetect attribute="Escape" context="#stay" String="\\\`"/> 0270 <Detect2Chars attribute="JavaScript Template" context="RegExpAfterString##JavaScript" char="\" char1="`" endRegion="Template"/> <!-- End template. --> 0271 <DetectChar context="#pop" char="`" lookAhead="true"/> 0272 <Detect2Chars attribute="JavaScript Substitution" context="Javascript Substitution" char="$" char1="{"/> 0273 <IncludeRules context="Template##JavaScript"/> 0274 <RegExpr attribute="Error" context="#stay" String="(?:[^\\\s](?=`)|\S(?=\s+`))"/> 0275 </context> 0276 <context name="Javascript Substitution" attribute="Normal" lineEndContext="#stay" noIndentationBasedFolding="1"> 0277 <DetectChar attribute="Javascript" context="#pop" char="`" lookAhead="true"/> 0278 <DetectChar attribute="JavaScript Substitution" context="#pop" char="}"/> 0279 <IncludeRules context="Overwrite Javascript"/> 0280 <IncludeRules context="Substitution##JavaScript"/> 0281 </context> 0282 0283 <context name="Javascript StartRawTemplate" attribute="JavaScript Template" lineEndContext="#pop" noIndentationBasedFolding="1"> 0284 <DetectSpaces /> 0285 <Detect2Chars attribute="JavaScript Template" context="#pop!Javascript RawTemplate" char="\" char1="`" beginRegion="Template"/> 0286 <StringDetect attribute="JavaScript Built-in Objects" context="#stay" String="%1" dynamic="true"/> 0287 <DetectChar attribute="JavaScript Symbol" context="#stay" char="2" dynamic="true"/> 0288 <StringDetect attribute="JavaScript Function Name" context="#stay" String="%3" dynamic="true"/> 0289 </context> 0290 <context name="Javascript RawTemplate" attribute="JavaScript Template" lineEndContext="#stay" noIndentationBasedFolding="1"> 0291 <Detect2Chars attribute="JavaScript Template" context="#stay" char="\" char1="\"/> 0292 <Detect2Chars attribute="JavaScript Template" context="RegExpAfterString##JavaScript" char="\" char1="`" endRegion="Template"/> <!-- End template. --> 0293 <DetectChar context="#pop" char="`" lookAhead="true"/> 0294 <RegExpr attribute="Error" context="#stay" String="(?:[^\\\s](?=`)|\S(?=\s+`))"/> 0295 </context> 0296 0297 <!-- Embedded Javascript (triple backticks). --> 0298 <context name="Javascript Triple Backticks" attribute="Normal" lineEndContext="#stay" noIndentationBasedFolding="1"> 0299 <StringDetect attribute="Javascript" context="#pop" String="```" endRegion="Javascript TB"/> 0300 <DetectChar attribute="Normal" context="JavaScript-TB Object" char="{" beginRegion="Brace"/> 0301 <IncludeRules context="Normal##JavaScript" includeAttrib="true"/> 0302 </context> 0303 <context name="JavaScript-TB Object" attribute="Normal" lineEndContext="#stay" noIndentationBasedFolding="1"> 0304 <StringDetect attribute="Javascript" context="#pop" String="```" lookAhead="true"/> 0305 <DetectChar attribute="Normal" context="#pop" char="}" endRegion="Brace"/> 0306 <DetectChar attribute="Normal" context="JavaScript-TB Object" char="{" beginRegion="Brace"/> 0307 <IncludeRules context="Object##JavaScript"/> 0308 </context> 0309 </contexts> 0310 <!-- Style mappings. --> 0311 <itemDatas> 0312 <itemData name="Normal" defStyleNum="dsNormal" spellChecking="false"/> 0313 <itemData name="Identifier" defStyleNum="dsNormal" spellChecking="false"/> 0314 <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false"/> 0315 <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/> 0316 <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false"/> 0317 <itemData name="Float" defStyleNum="dsFloat" spellChecking="false"/> 0318 <itemData name="Oct" defStyleNum="dsBaseN" spellChecking="false"/> 0319 <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false"/> 0320 <itemData name="String" defStyleNum="dsString" spellChecking="false"/> 0321 <itemData name="Comment" defStyleNum="dsComment" spellChecking="true"/> 0322 <itemData name="Symbol" defStyleNum="dsKeyword" spellChecking="false"/> 0323 <itemData name="Embedding" defStyleNum="dsChar" spellChecking="false"/> 0324 <itemData name="Accessor" defStyleNum="dsDataType" spellChecking="false"/> 0325 <itemData name="Class" defStyleNum="dsDataType" spellChecking="false" bold="1"/> 0326 <itemData name="Javascript" defStyleNum="dsAlert" spellChecking="false" italic="1"/> 0327 <itemData name="Regex" defStyleNum="dsString" spellChecking="false"/> 0328 <itemData name="Reserved" defStyleNum="dsAlert" spellChecking="false"/> 0329 <itemData name="Value Keywords" defStyleNum="dsOthers" spellChecking="false"/> 0330 <itemData name="Globals" defStyleNum="dsOthers" spellChecking="false"/> 0331 <!-- Context-sensitive globals - not styled by default. --> 0332 <itemData name="Browser Globals" defStyleNum="dsNormal" spellChecking="false"/> 0333 <itemData name="Node.js Globals" defStyleNum="dsNormal" spellChecking="false"/> 0334 <itemData name="Escape" defStyleNum="dsSpecialChar" spellChecking="false" /> 0335 <itemData name="Literal Character Escape" defStyleNum="dsChar" spellChecking="false" /> 0336 <itemData name="Error" defStyleNum="dsError" spellChecking="false"/> 0337 0338 <itemData name="JavaScript Template" defStyleNum="dsVerbatimString"/> 0339 <itemData name="JavaScript Substitution" defStyleNum="dsSpecialChar" spellChecking="false"/> 0340 <itemData name="JavaScript Function Name" defStyleNum="dsFunction" spellChecking="false"/> 0341 <itemData name="JavaScript Built-in Objects" defStyleNum="dsBuiltIn" spellChecking="false" /> 0342 <itemData name="JavaScript Symbol" defStyleNum="dsOperator" spellChecking="false" /> 0343 </itemDatas> 0344 </highlighting> 0345 <!-- Global settings. --> 0346 <general> 0347 <folding indentationsensitive="1"/> 0348 <comments> 0349 <comment name="singleLine" start="#" position="afterwhitespace"/> 0350 <comment name="multiLine" start="###" end="###" region="Comment"/> 0351 </comments> 0352 <keywords casesensitive="1" additionalDeliminator="#'`"/> 0353 <emptyLines> 0354 <emptyLine regexpr="(?:\s+|\s*#.*)"/> 0355 </emptyLines> 0356 </general> 0357 </language> 0358 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->