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="(?<=[ ])(?:\.&identifier;)" context="AttributeIdentifier" lookAhead="true"/>
0054 <IncludeRules context="SingleLineText"/>
0055 </context>
0056
0057 <context name="Expression" lineEndContext="#pop" attribute="Normal Text">
0058 <DetectChar char=""" 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=">"/>
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="\\(?:"|\\|u&hex;{4}|U&hex;{6})"/>
0086 <DetectChar char="\" context="#pop!Error"/>
0087 <DetectChar char=""" 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; -->