Warning, /frameworks/syntax-highlighting/data/syntax/curry.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!DOCTYPE language 0003 [ 0004 <!-- qualification of entities --> 0005 <!ENTITY qualify "(?:[A-Z][a-zA-Z0-9_']*\.)*"> 0006 <!-- identifier --> 0007 <!ENTITY ident "[a-z][a-zA-Z0-9_']*"> 0008 <!-- Type --> 0009 <!ENTITY type "[A-Z][a-zA-Z0-9_']*"> 0010 <!-- infix operator characters --> 0011 <!ENTITY infixchar "~!@#\$%\^&\*\+\-=<>\?\./\|&backslash;:"> 0012 <!-- identifier in prefix notation, e.g.: id, ($) --> 0013 <!ENTITY prefixIdent "(?:&ident;|\([&infixchar;]+\))"> 0014 0015 <!-- Characters allowed in character escape sequence, e.g., \n --> 0016 <!ENTITY escSeqChar "abfnrtv\"'" > 0017 <!-- Ascii escape sequence, e.g., \NUL --> 0018 <!ENTITY escSeqAscii "NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL" > 0019 <!-- Control escape sequence, e.g., \^X --> 0020 <!ENTITY escSeqCntrl "\^[A-Z@\[&backslash;\]\^_]" > 0021 0022 <!-- octal number --> 0023 <!ENTITY octal "[0-7]+" > 0024 <!-- decimal number --> 0025 <!ENTITY decimal "[0-9]+" > 0026 <!-- hexadecimal number --> 0027 <!ENTITY hexadecimal "[0-9a-fA-F]+" > 0028 <!-- a backslash, escaped for use in regular expressions --> 0029 <!ENTITY backslash "\\" > 0030 <!-- dashes introducing a currydoc comment --> 0031 <!ENTITY currydoc "---" > 0032 ]> 0033 <language name="Curry" version="4" kateversion="5.0" 0034 section="Sources" extensions="*.curry" mimetype="text/x-curry" 0035 author="Björn Peemöller (bjp@informatik.uni-kiel.de)" license="LGPL" 0036 indenter="haskell"> 0037 <highlighting> 0038 <list name="keywords"> 0039 <item>case</item> 0040 <item>data</item> 0041 <item>do</item> 0042 <item>else</item> 0043 <item>external</item> 0044 <item>fcase</item> 0045 <item>free</item> 0046 <item>if</item> 0047 <!-- Although import is a keyword, it is handled in a special context 0048 to highlight "qualified", "as" and "hiding" in keyword style, 0049 albeit these lexemes are no keywords. 0050 <item>import</item> 0051 --> 0052 <item>in</item> 0053 <item>infix</item> 0054 <item>infixl</item> 0055 <item>infixr</item> 0056 <item>let</item> 0057 <item>module</item> 0058 <item>of</item> 0059 <item>then</item> 0060 <item>type</item> 0061 <item>where</item> 0062 </list> 0063 <list name="Prelude Func"> 0064 <item>and</item> 0065 <item>all</item> 0066 <item>any</item> 0067 <item>appendFile</item> 0068 <item>best</item> 0069 <item>break</item> 0070 <item>browse</item> 0071 <item>browseList</item> 0072 <item>chr</item> 0073 <item>concat</item> 0074 <item>concatMap</item> 0075 <item>const</item> 0076 <item>curry</item> 0077 <item>div</item> 0078 <item>done</item> 0079 <item>doSolve</item> 0080 <item>drop</item> 0081 <item>dropWhile</item> 0082 <item>either</item> 0083 <item>elem</item> 0084 <item>ensureNotFree</item> 0085 <item>ensureSpine</item> 0086 <item>enumFrom</item> 0087 <item>enumFromThen</item> 0088 <item>enumFromTo</item> 0089 <item>enumFromThenTo</item> 0090 <item>error</item> 0091 <item>failed</item> 0092 <item>filter</item> 0093 <item>findall</item> 0094 <item>flip</item> 0095 <item>foldl</item> 0096 <item>foldl1</item> 0097 <item>foldr</item> 0098 <item>foldr1</item> 0099 <item>fst</item> 0100 <item>getChar</item> 0101 <item>getLine</item> 0102 <item>id</item> 0103 <item>if_then_else</item> 0104 <item>iterate</item> 0105 <item>head</item> 0106 <item>length</item> 0107 <item>lines</item> 0108 <item>lookup</item> 0109 <item>map</item> 0110 <item>mapIO</item> 0111 <item>mapIO_</item> 0112 <item>max</item> 0113 <item>maybe</item> 0114 <item>min</item> 0115 <item>mod</item> 0116 <item>negate</item> 0117 <item>not</item> 0118 <item>notElem</item> 0119 <item>null</item> 0120 <item>once</item> 0121 <item>or</item> 0122 <item>ord</item> 0123 <item>otherwise</item> 0124 <item>print</item> 0125 <item>putChar</item> 0126 <item>putStr</item> 0127 <item>putStrLn</item> 0128 <item>readFile</item> 0129 <item>repeat</item> 0130 <item>replicate</item> 0131 <item>return</item> 0132 <item>reverse</item> 0133 <item>seq</item> 0134 <item>sequenceIO</item> 0135 <item>sequenceIO_</item> 0136 <item>show</item> 0137 <item>snd</item> 0138 <item>solveAll</item> 0139 <item>span</item> 0140 <item>splitAt</item> 0141 <item>success</item> 0142 <item>tail</item> 0143 <item>take</item> 0144 <item>takeWhile</item> 0145 <item>try</item> 0146 <item>uncurry</item> 0147 <item>unknown</item> 0148 <item>unlines</item> 0149 <item>unpack</item> 0150 <item>until</item> 0151 <item>unwords</item> 0152 <item>unzip</item> 0153 <item>unzip3</item> 0154 <item>writeFile</item> 0155 <item>words</item> 0156 <item>zip</item> 0157 <item>zip3</item> 0158 <item>zipWith</item> 0159 <item>zipWith3</item> 0160 </list> 0161 <list name="Prelude Type"> 0162 <item>Bool</item> 0163 <item>Char</item> 0164 <item>Either</item> 0165 <item>Float</item> 0166 <item>Int</item> 0167 <item>IO</item> 0168 <item>Maybe</item> 0169 <item>Ordering</item> 0170 <item>String</item> 0171 <item>Success</item> 0172 </list> 0173 <list name="Prelude Cons"> 0174 <item>False</item> 0175 <item>True</item> 0176 <item>Left</item> 0177 <item>Right</item> 0178 <item>Just</item> 0179 <item>Nothing</item> 0180 <item>EQ</item> 0181 <item>LT</item> 0182 <item>GT</item> 0183 </list> 0184 <contexts> 0185 <context name="Normal" attribute="Normal" lineEndContext="#stay"> 0186 <!-- pragmas, currydoc, comments --> 0187 <StringDetect attribute="Pragma" context="Pragma" String="{-#" beginRegion="Pragma" /> 0188 <Detect2Chars attribute="Comment" context="Multiline Comment" char="{" char1="-" beginRegion="Multiline Comment" /> 0189 <StringDetect attribute="Currydoc" context="Currydoc" String="&currydoc;" /> 0190 <Detect2Chars attribute="Comment" context="Comment" char="-" char1="-" /> 0191 0192 <!-- keywords, Prelude entities --> 0193 <keyword attribute="Keyword" context="#stay" String="keywords" /> 0194 <keyword attribute="Prelude Function" context="#stay" String="Prelude Func" /> 0195 <keyword attribute="Prelude Type" context="#stay" String="Prelude Type" /> 0196 <keyword attribute="Prelude Constructor" context="#stay" String="Prelude Cons" /> 0197 <RegExpr attribute="Keyword" context="Import" String="import\s+(?:qualified)?" /> 0198 0199 <!-- Literals --> 0200 <Float attribute="Float" context="#stay" /> 0201 <RegExpr attribute="Octal" context="#stay" String="0[oO]&octal;" /> 0202 <HlCHex attribute="Hex" context="#stay" /> 0203 <Int attribute="Decimal" context="#stay" /> 0204 <DetectChar attribute="Char" context="Char" char="'" /> 0205 <DetectChar attribute="String" context="String" char=""" /> 0206 0207 <!-- Others --> 0208 <RegExpr attribute="Special Symbol" context="#stay" String="(?:::|:=|:>|\->|<\-|\.\.)" /> 0209 <RegExpr attribute="Signature" context="#stay" String="\s*&prefixIdent;\s*(?:,\s*&prefixIdent;)*\s*(?=::[^&infixchar;])" /> 0210 <RegExpr attribute="Function" context="#stay" String="&qualify;&ident;" /> 0211 <RegExpr attribute="Operator" context="#stay" String="&qualify;[&infixchar;]+" /> 0212 <RegExpr attribute="Type, Constructor" context="#stay" String="&qualify;&type;" /> 0213 <DetectChar attribute="Infix Application" context="Infix" char="`" /> 0214 0215 <!-- Folding of braces --> 0216 <DetectChar char="(" context="#stay" beginRegion="nested" attribute="Braces" /> 0217 <DetectChar char=")" context="#stay" endRegion="nested" attribute="Braces" /> 0218 <DetectChar char="[" context="#stay" beginRegion="list" attribute="Braces" /> 0219 <DetectChar char="]" context="#stay" endRegion="list" attribute="Braces" /> 0220 <DetectChar char="{" context="#stay" beginRegion="curly" attribute="Braces" /> 0221 <DetectChar char="}" context="#stay" endRegion="curly" attribute="Braces" /> 0222 </context> 0223 0224 <!-- Pragma --> 0225 <context name="Pragma" attribute="Pragma" lineEndContext="#stay" > 0226 <StringDetect attribute="Pragma" context="#pop" String="#-}" endRegion="Pragma" /> 0227 </context> 0228 0229 <!-- Multiline comment --> 0230 <context name="Multiline Comment" attribute="Comment" lineEndContext="#stay" > 0231 <Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" endRegion="Multiline Comment" /> 0232 <IncludeRules context="##Comments" /> 0233 </context> 0234 0235 <!-- Currydoc --> 0236 <context name="Currydoc" attribute="Currydoc" lineEndContext="#pop" /> 0237 0238 <!-- Single line comment --> 0239 <context name="Comment" attribute="Comment" lineEndContext="#pop"> 0240 <IncludeRules context="##Comments" /> 0241 </context> 0242 0243 <!-- Import section --> 0244 <context name="Import" attribute="Normal" lineEndContext="#pop" > 0245 <!-- pragmas, currydoc, comments --> 0246 <StringDetect attribute="Pragma" context="Pragma" String="{-#" beginRegion="Pragma" /> 0247 <Detect2Chars attribute="Comment" context="Multiline Comment" char="{" char1="-" beginRegion="Multiline Comment" /> 0248 <StringDetect attribute="Currydoc" context="Currydoc" String="&currydoc;" /> 0249 <Detect2Chars attribute="Comment" context="Comment" char="-" char1="-" /> 0250 0251 <RegExpr attribute="Type, Constructor" context="#stay" String="&qualify;&type;" /> 0252 <Detect2Chars attribute="Keyword" context="#stay" char="a" char1="s" /> 0253 <StringDetect attribute="Keyword" context="#stay" String="hiding" /> 0254 <!-- Pop context at open paren to highlight imported entities --> 0255 <DetectChar attribute="Braces" context="#pop" char="(" beginRegion="nested" /> 0256 <RegExpr attribute="Syntax Error" context="#stay" String="\S+" /> 0257 </context> 0258 0259 <!-- A single characters, with escape sequences --> 0260 <context name="Char" attribute="Char" lineEndContext="CharSyntaxError" > 0261 <DetectChar attribute="Syntax Error" context="#pop" char="'" /> 0262 <DetectChar attribute="Char" context="CharEscape" char="\" /> 0263 <RegExpr attribute="Char" context="CharEnd" String="[^'&backslash;]" /> 0264 </context> 0265 0266 <!-- Character escape sequence --> 0267 <context name="CharEscape" attribute="Char" lineEndContext="#pop!CharSyntaxError" > 0268 <AnyChar attribute="Char" context="#pop!CharEnd" String="&escSeqChar;" /> 0269 <RegExpr attribute="Char" context="#pop!CharEnd" String="o&octal;|&decimal;|x&hexadecimal;|&escSeqCntrl;|&escSeqAscii;" /> 0270 <RegExpr attribute="Syntax Error" context="#pop!CharEnd" String="." /> 0271 </context> 0272 0273 <!-- Ending quote of character literal --> 0274 <context name="CharEnd" attribute="Char" lineEndContext="#pop!CharSyntaxError" > 0275 <DetectChar attribute="Char" context="#pop#pop" char="'" /> 0276 <RegExpr attribute="Syntax Error" context="#stay" String="." /> 0277 </context> 0278 0279 <!-- Character syntax error: Newline inside literal --> 0280 <context name="CharSyntaxError" attribute="Syntax Error" lineEndContext="#stay" > 0281 <DetectChar attribute="Syntax Error" context="#pop#pop" char="'" /> 0282 </context> 0283 0284 <!-- A string, with escape sequences --> 0285 <context name="String" attribute="String" lineEndContext="StringSyntaxError" > 0286 <DetectChar attribute="String" context="#pop" char=""" /> 0287 <DetectChar attribute="String Escape" context="StringEscape" char="\" /> 0288 <RegExpr attribute="String" context="#stay" String="[^"&backslash;]*" /> 0289 </context> 0290 0291 <!-- String escape sequence --> 0292 <context name="StringEscape" attribute="String" lineEndContext="StringGap" > 0293 <AnyChar attribute="String Escape" context="#pop" String="&escSeqChar;&" /> 0294 <RegExpr attribute="String Escape" context="#pop" String="o&octal;|&decimal;|x&hexadecimal;|&escSeqCntrl;|&escSeqAscii;" /> 0295 <DetectSpaces attribute="String Escape" context="StringGap" /> 0296 <RegExpr attribute="Syntax Error" context="#pop" String="." /> 0297 </context> 0298 0299 <context name="StringGap" attribute="String" lineEndContext="#stay" > 0300 <DetectSpaces attribute="String Escape" context="#stay" /> 0301 <DetectChar attribute="String Escape" context="#pop#pop#pop!String" char="\" /> 0302 <DetectChar attribute="Syntax Error" context="#pop#pop#pop" char=""" /> 0303 <RegExpr attribute="Syntax Error" context="#stay" String="." /> 0304 </context> 0305 0306 <!-- String syntax error: Newline inside literal --> 0307 <context name="StringSyntaxError" attribute="Syntax Error" lineEndContext="#stay" > 0308 <DetectChar attribute="Syntax Error" context="#pop#pop" char=""" /> 0309 </context> 0310 0311 <!-- Infix application --> 0312 <context name="Infix" attribute="Infix Application" lineEndContext="#stay" > 0313 <DetectChar attribute="Infix Application" context="#pop" char="`"/> 0314 </context> 0315 </contexts> 0316 0317 <itemDatas> 0318 <itemData name="Normal" defStyleNum="dsNormal" spellChecking="false" /> 0319 0320 <!-- Comments --> 0321 <itemData name="Pragma" defStyleNum="dsOthers" spellChecking="false" /> 0322 <itemData name="Comment" defStyleNum="dsComment" /> 0323 <itemData name="Currydoc" defStyleNum="dsDocumentation" /> 0324 0325 <!-- Keywords, predefined entities --> 0326 <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" /> 0327 <itemData name="Prelude Type" defStyleNum="dsDataType" spellChecking="false" /> 0328 <itemData name="Prelude Function" defStyleNum="dsFunction" spellChecking="false" /> 0329 <itemData name="Prelude Constructor" defStyleNum="dsKeyword" spellChecking="false" /> 0330 0331 <!-- Literals --> 0332 <itemData name="Float" defStyleNum="dsFloat" spellChecking="false" /> 0333 <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false" /> 0334 <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false" /> 0335 <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" /> 0336 <itemData name="Char" defStyleNum="dsChar" spellChecking="false" /> 0337 <itemData name="String Escape" defStyleNum="dsChar" spellChecking="false" /> 0338 <itemData name="String" defStyleNum="dsString" /> 0339 0340 <!-- Others --> 0341 <itemData name="Braces" defStyleNum="dsNormal" spellChecking="false" /> 0342 <itemData name="Signature" defStyleNum="dsOthers" spellChecking="false" /> 0343 <itemData name="Function" defStyleNum="dsNormal" spellChecking="false" /> 0344 <itemData name="Operator" defStyleNum="dsFunction" spellChecking="false" /> 0345 <itemData name="Type, Constructor" defStyleNum="dsDataType" spellChecking="false" /> 0346 <itemData name="Special Symbol" defStyleNum="dsOthers" spellChecking="false" /> 0347 <itemData name="Infix Application" defStyleNum="dsOthers" spellChecking="false" /> 0348 <itemData name="Syntax Error" defStyleNum="dsError" spellChecking="false" /> 0349 </itemDatas> 0350 </highlighting> 0351 <general> 0352 <folding indentationsensitive="1"/> 0353 <comments> 0354 <comment name="singleLine" start="--" position="afterwhitespace" /> 0355 <comment name="multiLine" start="{-" end="-}" region="Multiline Comment" /> 0356 </comments> 0357 <keywords casesensitive="1" /> 0358 </general> 0359 </language> 0360 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->