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

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language
0003 [
0004   <!-- In EBNF: Identifier ::= [a-zA-Z] [a-zA-Z0-9_-]*-->
0005   <!ENTITY identifier "[a-zA-Z0-9_-]">
0006   <!ENTITY number "-?\d+(?:\.\d+)?">
0007   <!ENTITY variant_key "\[(?:&identifier;+|(?:&number;))\]">
0008   <!ENTITY hex "[0-9a-fA-F]">
0009 ]>
0010 <language name="Fluent" version="1" kateversion="5.0" section="Markup" extensions="*.ftl" mimetype="text/x-fluent-translation" author="Fabian Wunsch (fabian@uriah.heep.sax.de)" license="MIT" priority="-1">
0011   <highlighting>
0012     <contexts>
0013       <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
0014         <StringDetect String="###" context="FileComment" column="0"/>
0015         <Detect2Chars char="#" char1="#" context="StandaloneComment" column="0"/>
0016         <DetectChar char="#" context="MessageComment" column="0"/>
0017         <RegExpr String="^(&identifier;+)" context="Identifier" column="0"/>
0018         <DetectSpaces/>
0019       </context>
0020 
0021       <context name="Identifier" attribute="Identifier" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!Error">
0022         <RegExpr String="\s*=\s*" context="MultiLineText" attribute="Normal Text"/>
0023       </context>
0024 
0025       <context name="AttributeIdentifier" attribute="Identifier" lineEndContext="#pop">
0026         <RegExpr String="\s*=\s*" context="#pop#pop!MultiLineText" attribute="Normal Text"/>
0027         <DetectChar char=" " context="#pop#pop!Error"/>
0028       </context>
0029 
0030       <context name="Error" attribute="Error" lineEndContext="#pop">
0031       </context>
0032 
0033       <context name="MessageComment" attribute="Comment" lineEndContext="#pop">
0034         <IncludeRules context="##Comments"/>
0035       </context>
0036 
0037       <context name="StandaloneComment" attribute="DocumentationComment" lineEndContext="#pop">
0038         <IncludeRules context="MessageComment"/>
0039       </context>
0040 
0041       <context name="FileComment" attribute="DocumentationComment" lineEndContext="#pop">
0042         <IncludeRules context="MessageComment"/>
0043       </context>
0044 
0045       <context name="SingleLineText" attribute="Text" lineEndContext="#pop">
0046         <DetectIdentifier/>
0047         <DetectChar char="{" context="Placeable"/>
0048       </context>
0049 
0050       <context name="MultiLineText" attribute="Text" lineEndContext="#stay">
0051         <DetectSpaces/>
0052         <RegExpr String="^[^ ]" context="#pop#pop" column="0" lookAhead="true"/>
0053         <RegExpr String="(?&lt;=[ ])(?:\.&identifier;)" context="AttributeIdentifier" lookAhead="true"/>
0054         <IncludeRules context="SingleLineText"/>
0055       </context>
0056 
0057       <context name="Expression" lineEndContext="#pop" attribute="Normal Text">
0058         <DetectChar char="&quot;" context="Quoted"/>
0059         <RegExpr String="&number;" attribute="Number"/>
0060         <RegExpr String="(?:&identifier;+\s*\()" context="Function"/>
0061         <RegExpr String="(?:\$&identifier;+)" attribute="Variable"/>
0062         <RegExpr String="(?:&identifier;+(?:\.&identifier;+)?)"/>
0063         <DetectChar char="{" context="Placeable"/>
0064       </context>
0065 
0066       <context name="Placeable" attribute="Placeable" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!Error">
0067         <DetectSpaces/>
0068         <DetectChar char="}" context="#pop" attribute="Placeable"/>
0069         <RegExpr String="(?:\*&variant_key;)" context="SingleLineText" attribute="DefaultIdentifier"/>
0070         <RegExpr String="(?:&variant_key;)" context="SingleLineText" attribute="Identifier"/>
0071         <Detect2Chars char="-" char1="&gt;"/>
0072         <IncludeRules context="Expression"/>
0073       </context>
0074 
0075       <context name="Function" attribute="Function" lineEndContext="#pop!Error" fallthrough="true" fallthroughContext="#pop!Error">
0076         <DetectSpaces/>
0077         <DetectChar char=")" context="#pop" attribute="Function"/>
0078         <RegExpr String="(?:&identifier;+\s*:\s*)"/>
0079         <DetectChar char=","/>
0080         <IncludeRules context="Expression"/>
0081       </context>
0082 
0083       <context name="Quoted" attribute="Quoted" lineEndContext="#pop!Error">
0084         <DetectIdentifier/>
0085         <RegExpr String="\\(?:&quot;|\\|u&hex;{4}|U&hex;{6})"/>
0086         <DetectChar char="\" context="#pop!Error"/>
0087         <DetectChar char="&quot;" context="#pop" attribute="Quoted"/>
0088       </context>
0089     </contexts>
0090 
0091     <itemDatas>
0092       <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false"/>
0093       <itemData name="Error" defStyleNum="dsError" spellChecking="false"/>
0094       <itemData name="Identifier" defStyleNum="dsKeyword" spellChecking="false"/>
0095       <itemData name="DefaultIdentifier" defStyleNum="dsKeyword" spellChecking="false"/>
0096       <itemData name="Text" defStyleNum="dsString" spellChecking="true"/>
0097       <itemData name="Function" defStyleNum="dsFunction" spellChecking="false"/>
0098       <itemData name="Placeable" defStyleNum="dsSpecialChar" spellChecking="false"/>
0099       <itemData name="Comment" defStyleNum="dsComment" spellChecking="true"/>
0100       <itemData name="DocumentationComment" defStyleNum="dsDocumentation" spellChecking="true"/>
0101       <itemData name="Quoted" defStyleNum="dsString" spellChecking="true"/>
0102       <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>
0103       <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>
0104     </itemDatas>
0105   </highlighting>
0106   <general>
0107     <comments>
0108       <comment name="singleLine" start="#"/>
0109     </comments>
0110     <folding indentationsensitive="true"/>
0111   </general>
0112 </language>
0113 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->