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

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 <language name="Elm" version="8" kateversion="5.0" section="Sources" extensions="*.elm" author="Bonghyun Kim (bonghyun.d.kim@gmail.com)" license="MIT" style="elm">
0004   <highlighting>
0005     <list name="declarations">
0006       <item>type</item>
0007       <item>alias</item>
0008       <item>port</item>
0009     </list>
0010     <list name="controlFlows">
0011       <item>case</item>
0012       <item>of</item>
0013       <item>if</item>
0014       <item>else</item>
0015       <item>then</item>
0016     </list>
0017     <list name="letExpressions">
0018       <item>let</item>
0019       <item>in</item>
0020     </list>
0021     <list name="imports">
0022       <item>module</item>
0023       <item>exposing</item>
0024       <item>import</item>
0025       <item>as</item>
0026     </list>
0027     <list name="infixes">
0028       <item>infix</item>
0029       <item>left</item>
0030       <item>right</item>
0031       <item>non</item>
0032     </list>
0033     <list name="effects">
0034       <item>effect</item>
0035       <item>where</item>
0036       <item>command</item>
0037       <item>subscription</item>
0038     </list>
0039     <contexts>
0040       <context attribute="Normal" lineEndContext="#stay" name="code">
0041         <Detect2Chars attribute="Comment" context="comments" char="{" char1="-" beginRegion="BlockComment" />
0042         <Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
0043 
0044         <keyword attribute="Keyword"          context="#stay" String="declarations" />
0045         <keyword attribute="Keyword"          context="#stay" String="letExpressions" />
0046         <keyword attribute="Keyword"          context="#stay" String="effects" />
0047         <keyword attribute="Keyword"          context="#stay" String="imports" />
0048         <keyword attribute="Keyword"          context="#stay" String="infixes" />
0049         <keyword attribute="ControlFlowKeyword"          context="#stay" String="controlFlows" />
0050 
0051         <WordDetect attribute="Import" context="module" String="module" />
0052         <WordDetect attribute="Port" context="port" String="port" />
0053         <WordDetect attribute="Import" context="import" String="import" />
0054 
0055         <RegExpr attribute="Name"         context="#stay" String="(\b[a-z]\w*|\b_\b)" />
0056         <RegExpr attribute="Operator"         context="#stay" String="-&gt;|::|\/\/|\.\.|&amp;&amp;|\|\||\+\+|\|&gt;|&lt;\||&gt;&gt;|&lt;&lt;|==|\/=|&lt;=|&gt;=|[+-\/*%=&gt;&lt;^\|!@#$&amp;~?]" />
0057 
0058         <RegExpr attribute="Type"             context="#stay" String="\b[A-Z][\w]*" />
0059 
0060         <Int        attribute="Decimal" context="#stay" />
0061         <RegExpr    attribute="Hex"     context="#stay" String="0x[\da-f]+" insensitive="true" />
0062         <RegExpr    attribute="Float"   context="#stay" String="\d+\.\d+(e[+-]?\d+)?" insensitive="true" />
0063 
0064         <RegExpr    attribute="Char"    context="#stay" String="'(.|\\'|\\n|\\r|\\t|\\&quot;|\\\\|\\u\{(10|0?[0-9])[0-9a-fA-F]{4}\})'" />
0065         <StringDetect attribute="String"     context="multilineString" String="&quot;&quot;&quot;"/>
0066         <DetectChar attribute="String"  context="string" char="&quot;" />
0067       </context>
0068       <context attribute="Comment" lineEndContext="#pop" name="comment">
0069         <DetectSpaces />
0070         <IncludeRules context="##Comments" />
0071       </context>
0072       <context attribute="Comment" lineEndContext="#stay" name="comments">
0073         <Detect2Chars attribute="Comment" context="comments" char="{" char1="-" beginRegion="BlockComment" />
0074         <Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" endRegion="BlockComment" />
0075         <DetectSpaces />
0076         <IncludeRules context="##Comments" />
0077       </context>
0078       <context attribute="String" lineEndContext="#stay" name="string">
0079         <RegExpr attribute="String" context="#stay" String="\\." />
0080         <DetectChar attribute="String" context="#pop" char="&quot;" />
0081       </context>
0082       <context attribute="String" lineEndContext="#stay" name="multilineString">
0083         <DetectSpaces attribute="String" context="#stay" />
0084         <RegExpr attribute="String" context="#stay" String="\.*" />
0085         <StringDetect attribute="String" context="#pop" String="&quot;&quot;&quot;" />
0086       </context>
0087       <context attribute="Normal" lineEndContext="#stay" name="module">
0088         <DetectChar attribute="Normal" context="moduleParentheses" char="(" />
0089         <keyword attribute="Keyword"          context="#stay" String="imports" />
0090         <RegExpr attribute="Name"         context="#stay" String="\b[a-z][\w]*" />
0091         <RegExpr attribute="Type"             context="#stay" String="\b[A-Z][\w]*" />
0092         <DetectChar attribute="Normal" context="#pop" char=")" />
0093       </context>
0094       <context attribute="Normal" lineEndContext="#stay" name="moduleParentheses">
0095         <DetectChar attribute="Normal" context="moduleParentheses" char="(" />
0096         <RegExpr attribute="Name"         context="#stay" String="\b[a-z][\w]*" />
0097         <RegExpr attribute="Type"             context="#stay" String="\b[A-Z][\w]*" />
0098         <DetectChar attribute="Normal" context="#pop" char=")" />
0099       </context>
0100       <context attribute="Normal" lineEndContext="#stay" name="port">
0101         <WordDetect attribute="Import" context="module" String="imports" />
0102       </context>
0103       <context attribute="Normal" lineEndContext="#stay" name="import">
0104         <DetectChar attribute="Normal" context="moduleParentheses" char="(" />
0105         <keyword attribute="Keyword"          context="#stay" String="imports" />
0106         <RegExpr attribute="Name"         context="#stay" String="\b[a-z][\w]*" />
0107         <RegExpr attribute="Type"             context="#stay" String="\b[A-Z][\w]*" />
0108         <DetectChar attribute="Normal" context="#pop" char=")" />
0109       </context>
0110     </contexts>
0111 
0112     <itemDatas>
0113       <itemData name="Normal"           defStyleNum="dsNormal"   spellChecking="false" />
0114       <itemData name="Comment"          defStyleNum="dsComment" />
0115 
0116       <itemData name="Keyword"          defStyleNum="dsKeyword"  spellChecking="false" />
0117       <itemData name="ControlFlowKeyword" defStyleNum="dsControlFlow"  spellChecking="false" />
0118 
0119       <itemData name="Name"         defStyleNum="dsFunction"   spellChecking="false" />
0120       <itemData name="Port"         defStyleNum="dsNormal"   spellChecking="false" />
0121       <itemData name="Import"         defStyleNum="dsImport"   spellChecking="false" />
0122       <itemData name="Operator"         defStyleNum="dsOperator" spellChecking="false" />
0123       <itemData name="Type"             defStyleNum="dsDataType" spellChecking="false" />
0124 
0125       <itemData name="Decimal"          defStyleNum="dsDecVal"   spellChecking="false" />
0126       <itemData name="Hex"          defStyleNum="dsBaseN"   spellChecking="false" />
0127       <itemData name="Float"            defStyleNum="dsFloat"    spellChecking="false" />
0128       <itemData name="Char"             defStyleNum="dsChar"     spellChecking="false" />
0129       <itemData name="String"           defStyleNum="dsString" />
0130     </itemDatas>
0131   </highlighting>
0132   <general>
0133     <folding indentationsensitive="1"/>
0134     <comments>
0135       <comment name="singleLine" start="--" position="afterwhitespace" />
0136       <comment name="multiLine" start="{-" end="-}" region="BlockComment" />
0137     </comments>
0138     <keywords casesensitive="1" />
0139 </general>
0140 </language>
0141 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->