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="->|::|\/\/|\.\.|&&|\|\||\+\+|\|>|<\||>>|<<|==|\/=|<=|>=|[+-\/*%=><^\|!@#$&~?]" />
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|\\"|\\\\|\\u\{(10|0?[0-9])[0-9a-fA-F]{4}\})'" />
0065 <StringDetect attribute="String" context="multilineString" String="""""/>
0066 <DetectChar attribute="String" context="string" char=""" />
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=""" />
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=""""" />
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; -->