Warning, /frameworks/syntax-highlighting/data/syntax/haskell.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language [
0003 <!ENTITY symbolops "\-!#\$%&\*\+/<=>\?\@\^\|~\.:">
0004 ]>
0005 <language name="Haskell" version="20" kateversion="5.53" section="Sources" extensions="*.hs;*.chs;*.hs-boot" mimetype="text/x-haskell" author="Nicolas Wu (zenzike@gmail.com)" license="LGPL" indenter="haskell" style="haskell">
0006 <highlighting>
0007 <list name="keywords">
0008 <item>case</item>
0009 <item>class</item>
0010 <item>data</item>
0011 <item>deriving</item>
0012 <item>do</item>
0013 <item>else</item>
0014 <item>family</item>
0015 <item>forall</item>
0016 <item>if</item>
0017 <item>in</item>
0018 <item>infixl</item>
0019 <item>infixr</item>
0020 <item>instance</item>
0021 <item>let</item>
0022 <item>module</item>
0023 <item>newtype</item>
0024 <item>of</item>
0025 <item>pattern</item>
0026 <item>primitive</item>
0027 <item>then</item>
0028 <item>type</item>
0029 <item>where</item>
0030 </list>
0031 <list name="prelude function">
0032 <item>abs</item>
0033 <item>acos</item>
0034 <item>acosh</item>
0035 <item>all</item>
0036 <item>and</item>
0037 <item>any</item>
0038 <item>appendFile</item>
0039 <item>approxRational</item>
0040 <item>asTypeOf</item>
0041 <item>asin</item>
0042 <item>asinh</item>
0043 <item>atan</item>
0044 <item>atan2</item>
0045 <item>atanh</item>
0046 <item>basicIORun</item>
0047 <item>break</item>
0048 <item>catch</item>
0049 <item>ceiling</item>
0050 <item>chr</item>
0051 <item>compare</item>
0052 <item>concat</item>
0053 <item>concatMap</item>
0054 <item>const</item>
0055 <item>cos</item>
0056 <item>cosh</item>
0057 <item>curry</item>
0058 <item>cycle</item>
0059 <item>decodeFloat</item>
0060 <item>denominator</item>
0061 <item>digitToInt</item>
0062 <item>div</item>
0063 <item>divMod</item>
0064 <item>drop</item>
0065 <item>dropWhile</item>
0066 <item>either</item>
0067 <item>elem</item>
0068 <item>encodeFloat</item>
0069 <item>enumFrom</item>
0070 <item>enumFromThen</item>
0071 <item>enumFromThenTo</item>
0072 <item>enumFromTo</item>
0073 <item>error</item>
0074 <item>even</item>
0075 <item>exp</item>
0076 <item>exponent</item>
0077 <item>fail</item>
0078 <item>filter</item>
0079 <item>flip</item>
0080 <item>floatDigits</item>
0081 <item>floatRadix</item>
0082 <item>floatRange</item>
0083 <item>floor</item>
0084 <item>fmap</item>
0085 <item>foldl</item>
0086 <item>foldl1</item>
0087 <item>foldMap</item>
0088 <item>foldr</item>
0089 <item>foldr1</item>
0090 <item>fromDouble</item>
0091 <item>fromEnum</item>
0092 <item>fromInt</item>
0093 <item>fromInteger</item>
0094 <item>fromIntegral</item>
0095 <item>fromRational</item>
0096 <item>fst</item>
0097 <item>gcd</item>
0098 <item>getChar</item>
0099 <item>getContents</item>
0100 <item>getLine</item>
0101 <item>group</item>
0102 <item>head</item>
0103 <item>id</item>
0104 <item>inRange</item>
0105 <item>index</item>
0106 <item>init</item>
0107 <item>intToDigit</item>
0108 <item>interact</item>
0109 <item>ioError</item>
0110 <item>isAlpha</item>
0111 <item>isAlphaNum</item>
0112 <item>isAscii</item>
0113 <item>isControl</item>
0114 <item>isDenormalized</item>
0115 <item>isDigit</item>
0116 <item>isHexDigit</item>
0117 <item>isIEEE</item>
0118 <item>isInfinite</item>
0119 <item>isLower</item>
0120 <item>isNaN</item>
0121 <item>isNegativeZero</item>
0122 <item>isOctDigit</item>
0123 <item>isPrint</item>
0124 <item>isSpace</item>
0125 <item>isUpper</item>
0126 <item>iterate</item>
0127 <item>last</item>
0128 <item>lcm</item>
0129 <item>length</item>
0130 <item>lex</item>
0131 <item>lexDigits</item>
0132 <item>lexLitChar</item>
0133 <item>lines</item>
0134 <item>log</item>
0135 <item>logBase</item>
0136 <item>lookup</item>
0137 <item>map</item>
0138 <item>mappend</item>
0139 <item>mapM</item>
0140 <item>mapM_</item>
0141 <item>max</item>
0142 <item>maxBound</item>
0143 <item>maximum</item>
0144 <item>maybe</item>
0145 <item>mconcat</item>
0146 <item>mempty</item>
0147 <item>min</item>
0148 <item>minBound</item>
0149 <item>minimum</item>
0150 <item>mod</item>
0151 <item>negate</item>
0152 <item>not</item>
0153 <item>notElem</item>
0154 <item>null</item>
0155 <item>numerator</item>
0156 <item>odd</item>
0157 <item>or</item>
0158 <item>ord</item>
0159 <item>otherwise</item>
0160 <item>pack</item>
0161 <item>pi</item>
0162 <item>pred</item>
0163 <item>primExitWith</item>
0164 <item>print</item>
0165 <item>product</item>
0166 <item>properFraction</item>
0167 <item>pure</item>
0168 <item>putChar</item>
0169 <item>putStr</item>
0170 <item>putStrLn</item>
0171 <item>quot</item>
0172 <item>quotRem</item>
0173 <item>range</item>
0174 <item>rangeSize</item>
0175 <item>read</item>
0176 <item>readDec</item>
0177 <item>readFile</item>
0178 <item>readFloat</item>
0179 <item>readHex</item>
0180 <item>readIO</item>
0181 <item>readInt</item>
0182 <item>readList</item>
0183 <item>readLitChar</item>
0184 <item>readLn</item>
0185 <item>readOct</item>
0186 <item>readParen</item>
0187 <item>readSigned</item>
0188 <item>reads</item>
0189 <item>readsPrec</item>
0190 <item>realToFrac</item>
0191 <item>recip</item>
0192 <item>rem</item>
0193 <item>repeat</item>
0194 <item>replicate</item>
0195 <item>return</item>
0196 <item>reverse</item>
0197 <item>round</item>
0198 <item>scaleFloat</item>
0199 <item>scanl</item>
0200 <item>scanl1</item>
0201 <item>scanr</item>
0202 <item>scanr1</item>
0203 <item>seq</item>
0204 <item>sequence</item>
0205 <item>sequenceA</item>
0206 <item>sequence_</item>
0207 <item>show</item>
0208 <item>showChar</item>
0209 <item>showInt</item>
0210 <item>showList</item>
0211 <item>showLitChar</item>
0212 <item>showParen</item>
0213 <item>showSigned</item>
0214 <item>showString</item>
0215 <item>shows</item>
0216 <item>showsPrec</item>
0217 <item>significand</item>
0218 <item>signum</item>
0219 <item>sin</item>
0220 <item>sinh</item>
0221 <item>snd</item>
0222 <item>sort</item>
0223 <item>span</item>
0224 <item>splitAt</item>
0225 <item>sqrt</item>
0226 <item>subtract</item>
0227 <item>succ</item>
0228 <item>sum</item>
0229 <item>tail</item>
0230 <item>take</item>
0231 <item>takeWhile</item>
0232 <item>tan</item>
0233 <item>tanh</item>
0234 <item>threadToIOResult</item>
0235 <item>toEnum</item>
0236 <item>toInt</item>
0237 <item>toInteger</item>
0238 <item>toLower</item>
0239 <item>toRational</item>
0240 <item>toUpper</item>
0241 <item>traverse</item>
0242 <item>truncate</item>
0243 <item>uncurry</item>
0244 <item>undefined</item>
0245 <item>unlines</item>
0246 <item>until</item>
0247 <item>unwords</item>
0248 <item>unzip</item>
0249 <item>unzip3</item>
0250 <item>userError</item>
0251 <item>words</item>
0252 <item>writeFile</item>
0253 <item>zip</item>
0254 <item>zip3</item>
0255 <item>zipWith</item>
0256 <item>zipWith3</item>
0257 </list>
0258 <list name="prelude class">
0259 <item>Applicative</item>
0260 <item>Bounded</item>
0261 <item>Enum</item>
0262 <item>Eq</item>
0263 <item>Floating</item>
0264 <item>Foldable</item>
0265 <item>Fractional</item>
0266 <item>Functor</item>
0267 <item>Integral</item>
0268 <item>Ix</item>
0269 <item>Monad</item>
0270 <item>Monoid</item>
0271 <item>Num</item>
0272 <item>Ord</item>
0273 <item>Read</item>
0274 <item>Real</item>
0275 <item>RealFloat</item>
0276 <item>RealFrac</item>
0277 <item>Show</item>
0278 <item>Traversable</item>
0279 </list>
0280 <list name="prelude type">
0281 <item>Bool</item>
0282 <item>ByteString</item>
0283 <item>Char</item>
0284 <item>Double</item>
0285 <item>Either</item>
0286 <item>FilePath</item>
0287 <item>Float</item>
0288 <item>Int</item>
0289 <item>Integer</item>
0290 <item>IO</item>
0291 <item>IOError</item>
0292 <item>Maybe</item>
0293 <item>Ordering</item>
0294 <item>Ratio</item>
0295 <item>Rational</item>
0296 <item>ReadS</item>
0297 <item>ShowS</item>
0298 <item>String</item>
0299 <item>Word</item>
0300 </list>
0301 <list name="prelude data">
0302 <item>False</item>
0303 <item>True</item>
0304 <item>Left</item>
0305 <item>Right</item>
0306 <item>Just</item>
0307 <item>Nothing</item>
0308 <item>EQ</item>
0309 <item>LT</item>
0310 <item>GT</item>
0311 </list>
0312 <list name="cpp_keywords">
0313 <item>defined</item>
0314 <item>if</item>
0315 <item>ifdef</item>
0316 <item>ifndef</item>
0317 <item>include</item>
0318 <item>undef</item>
0319 </list>
0320 <list name="c2hs_keywords">
0321 <item>qualified</item>
0322 <item>lib</item>
0323 <item>prefix</item>
0324 <item>as</item>
0325 <item>with</item>
0326 <item>call</item>
0327 <item>pure</item>
0328 <item>unsafe</item>
0329 <item>get</item>
0330 <item>set</item>
0331 <item>foreign</item>
0332 <item>stable</item>
0333 <item>nocode</item>
0334 </list>
0335 <list name="import_keywords">
0336 <item>as</item>
0337 <item>qualified</item>
0338 <item>hiding</item>
0339 </list>
0340 <list name="language_pragmas">
0341 <item>AllowAmbiguousTypes</item>
0342 <item>ApplicativeDo</item>
0343 <item>Arrows</item>
0344 <item>AutoDeriveTypeable</item>
0345 <item>BangPatterns</item>
0346 <item>BinaryLiterals</item>
0347 <item>CApiFFI</item>
0348 <item>CPP</item>
0349 <item>ConstrainedClassMethods</item>
0350 <item>ConstraintKinds</item>
0351 <item>DataKinds</item>
0352 <item>DatatypeContexts</item>
0353 <item>DefaultSignatures</item>
0354 <item>DeriveAnyClass</item>
0355 <item>DeriveDataTypeable</item>
0356 <item>DeriveFoldable</item>
0357 <item>DeriveFunctor</item>
0358 <item>DeriveGeneric</item>
0359 <item>DeriveLift</item>
0360 <item>DeriveTraversable</item>
0361 <item>DisambiguateRecordFields</item>
0362 <item>DoAndIfThenElse</item>
0363 <item>DoRec</item>
0364 <item>DuplicateRecordFields</item>
0365 <item>EmptyCase</item>
0366 <item>EmptyDataDecls</item>
0367 <item>ExistentialQuantification</item>
0368 <item>ExplicitForAll</item>
0369 <item>ExplicitNamespaces</item>
0370 <item>ExtendedDefaultRules</item>
0371 <item>ExtensibleRecords</item>
0372 <item>FlexibleContexts</item>
0373 <item>FlexibleInstances</item>
0374 <item>ForeignFunctionInterface</item>
0375 <item>FunctionalDependencies</item>
0376 <item>GADTSyntax</item>
0377 <item>GADTs</item>
0378 <item>GHCForeignImportPrim</item>
0379 <item>GeneralizedNewtypeDeriving</item>
0380 <item>Generics</item>
0381 <item>HereDocuments</item>
0382 <item>ImplicitParams</item>
0383 <item>ImplicitPrelude</item>
0384 <item>ImpredicativeTypes</item>
0385 <item>IncoherentInstances</item>
0386 <item>InstanceSigs</item>
0387 <item>InterruptibleFFI</item>
0388 <item>JavaScriptFFI</item>
0389 <item>KindSignatures</item>
0390 <item>LambdaCase</item>
0391 <item>LiberalTypeSynonyms</item>
0392 <item>MagicHash</item>
0393 <item>MonadComprehensions</item>
0394 <item>MonadFailDesugaring</item>
0395 <item>MonoLocalBinds</item>
0396 <item>MonoPatBinds</item>
0397 <item>MonomorphismRestriction</item>
0398 <item>MultiParamTypeClasses</item>
0399 <item>MultiWayIf</item>
0400 <item>NPlusKPatterns</item>
0401 <item>NamedFieldPuns</item>
0402 <item>NamedWildCards</item>
0403 <item>NegativeLiterals</item>
0404 <item>NewQualifiedOperators</item>
0405 <item>NondecreasingIndentation</item>
0406 <item>NullaryTypeClasses</item>
0407 <item>NumDecimals</item>
0408 <item>OverlappingInstances</item>
0409 <item>OverloadedLabels</item>
0410 <item>OverloadedLists</item>
0411 <item>OverloadedStrings</item>
0412 <item>PackageImports</item>
0413 <item>ParallelArrays</item>
0414 <item>ParallelListComp</item>
0415 <item>PartialTypeSignatures</item>
0416 <item>PatternGuards</item>
0417 <item>PatternSignatures</item>
0418 <item>PatternSynonyms</item>
0419 <item>PolyKinds</item>
0420 <item>PolymorphicComponents</item>
0421 <item>PostfixOperators</item>
0422 <item>QuasiQuotes</item>
0423 <item>Rank2Types</item>
0424 <item>RankNTypes</item>
0425 <item>RebindableSyntax</item>
0426 <item>RecordPuns</item>
0427 <item>RecordWildCards</item>
0428 <item>RecursiveDo</item>
0429 <item>RegularPatterns</item>
0430 <item>RelaxedPolyRec</item>
0431 <item>RestrictedTypeSynonyms</item>
0432 <item>RoleAnnotations</item>
0433 <item>Safe</item>
0434 <item>SafeImports</item>
0435 <item>ScopedTypeVariables</item>
0436 <item>StandaloneDeriving</item>
0437 <item>StaticPointers</item>
0438 <item>Strict</item>
0439 <item>StrictData</item>
0440 <item>TemplateHaskell</item>
0441 <item>TemplateHaskellQuotes</item>
0442 <item>TraditionalRecordSyntax</item>
0443 <item>TransformListComp</item>
0444 <item>Trustworthy</item>
0445 <item>TupleSections</item>
0446 <item>TypeApplications</item>
0447 <item>TypeFamilies</item>
0448 <item>TypeInType</item>
0449 <item>TypeOperators</item>
0450 <item>TypeSynonymInstances</item>
0451 <item>UnboxedTuples</item>
0452 <item>UndecidableInstances</item>
0453 <item>UndecidableSuperClasses</item>
0454 <item>UnicodeSyntax</item>
0455 <item>UnliftedFFITypes</item>
0456 <item>Unsafe</item>
0457 <item>ViewPatterns</item>
0458 <item>XmlSyntax</item>
0459 </list>
0460 <contexts>
0461 <context attribute="Normal" lineEndContext="#stay" name="code">
0462 <IncludeRules context="FindComment"/>
0463 <WordDetect attribute="Keyword" context="import" String="import"/>
0464 <Detect2Chars attribute="C2HS Directive" context="c2hs directive" char="{" char1="#"/>
0465 <DetectChar attribute="C Preprocessor" context="C Preprocessor" char="#" column="0"/>
0466
0467 <keyword attribute="Keyword" context="#stay" String="keywords" />
0468 <keyword attribute="Function Prelude" context="#stay" String="prelude function" />
0469 <keyword attribute="Type Prelude" context="#stay" String="prelude type" />
0470 <keyword attribute="Data Prelude" context="#stay" String="prelude data" />
0471 <keyword attribute="Class Prelude" context="#stay" String="prelude class" />
0472
0473 <RegExpr attribute="Special" context="#stay" String="(::|=>|->|<-|=)(?![&symbolops;])" />
0474 <RegExpr attribute="Signature" context="#stay" String="\s*[a-z_][a-zA-Z0-9_']*\s*(?=::([^&symbolops;]|$))|\s*(\([&symbolops;]*\))*\s*(?=::[^&symbolops;])" />
0475 <RegExpr attribute="Function" context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[a-z_][a-zA-Z0-9_']*" />
0476 <RegExpr attribute="Operator" context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[&symbolops;]+" />
0477 <RegExpr attribute="Type" context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*|'(?![A-Z]')([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" />
0478
0479 <RegExpr attribute="Float" context="#stay" String ="\d+\.\d+([Ee][+-]?\d+)?|\d+[Ee][+-]?\d+"/>
0480 <RegExpr attribute="Octal" context="#stay" String="0[Oo][0-7]+"/>
0481 <RegExpr attribute="Hex" context="#stay" String="0[Xx][0-9A-Fa-f]+"/>
0482 <Int attribute="Decimal" context="#stay" />
0483 <DetectChar attribute="Char" context="char" char="'" />
0484 <DetectChar attribute="String" context="string" char=""" />
0485
0486 <DetectChar attribute="Function Infix" context="infix" char="`"/>
0487 <Detect2Chars attribute="EnumFromTo" context="#stay" char ="." char1="." />
0488 <DetectChar attribute="EnumFromTo" context="#stay" char="‥" />
0489
0490 <RegExpr attribute="Normal" context="Hamlet" String="\[[wxs]?hamlet\|" />
0491 <StringDetect attribute="Normal" context="Julius" String="[julius|" />
0492 <RegExpr attribute="Normal" context="QuasiQuote" String="\[[a-zA-Z_'](\w|[_'])*\|" />
0493 </context>
0494 <context attribute="Normal" lineEndContext="#pop" name="FindComment">
0495 <StringDetect attribute="Pragma" context="pragma" String="{-#"/>
0496 <Detect2Chars attribute="Comment" context="comments" char="{" char1="-" beginRegion="BlockComment"/>
0497 <RegExpr attribute="Comment" context="comment" String="--+(?![&symbolops;])"/>
0498 </context>
0499 <context attribute="Normal" lineEndContext="#stay" name="QuasiQuote">
0500 <Detect2Chars attribute="Normal" context="#pop" char="|" char1="]"/>
0501 </context>
0502 <context attribute="Normal" lineEndContext="#stay" name="Julius">
0503 <IncludeRules context="QuasiQuote"/>
0504 <IncludeRules context="Normal##JavaScript" />
0505 </context>
0506 <context attribute="Normal" lineEndContext="#stay" name="Hamlet">
0507 <IncludeRules context="QuasiQuote"/>
0508 <IncludeRules context="##Hamlet" />
0509 </context>
0510 <context attribute="Pragma" lineEndContext="#stay" name="pragma">
0511 <DetectSpaces attribute="Pragma" />
0512 <keyword attribute="Pragma" context="#stay" String="language_pragmas" />
0513 <DetectIdentifier attribute="Pragma" />
0514 <StringDetect attribute="Pragma" context="#pop" String="#-}"/>
0515 </context>
0516 <context attribute="Comment" lineEndContext="#pop" name="comment">
0517 <DetectSpaces attribute="Comment" />
0518 <IncludeRules context="Haddock" />
0519 <IncludeRules context="##Comments" />
0520 <DetectIdentifier attribute="Comment" />
0521 </context>
0522 <context attribute="Comment" lineEndContext="#stay" name="comments">
0523 <DetectSpaces attribute="Comment" />
0524 <Detect2Chars attribute="Comment" context="comments" char="{" char1="-" beginRegion="BlockComment" />
0525 <Detect2Chars attribute="Comment" context="#pop" char="-" char1="}" endRegion="BlockComment" />
0526 <IncludeRules context="Haddock" />
0527 <IncludeRules context="##Comments" />
0528 <DetectIdentifier attribute="Comment" />
0529 </context>
0530 <context attribute="Char" lineEndContext="#pop" name="char">
0531 <DetectChar attribute="Char" context="#pop" char="'" />
0532 <RegExpr attribute="Char" context="#stay" String="\\." />
0533 </context>
0534 <context attribute="String" lineEndContext="#stay" name="string">
0535 <DetectChar attribute="String" context="#pop" char=""" />
0536 <RegExpr attribute="String" context="#stay" String="\\." />
0537 </context>
0538 <context attribute="Function Infix" lineEndContext="#stay" name="infix">
0539 <DetectChar attribute="Function Infix" context="#pop" char="`"/>
0540 <DetectIdentifier attribute="Function Infix"/>
0541 </context>
0542 <context attribute="Normal" lineEndContext="#pop" name="import">
0543 <DetectSpaces attribute="Normal" />
0544 <keyword attribute="Keyword" context="#stay" String="import_keywords" />
0545 <RegExpr attribute="Function" context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[a-z][a-zA-Z0-9_']*" />
0546 <RegExpr attribute="Type" context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" />
0547
0548 <IncludeRules context="FindComment" />
0549 </context>
0550
0551 <!-- Haddock -->
0552 <context attribute="Comment" lineEndContext="#stay" name="Haddock">
0553 <RegExpr attribute="Haddock Hyperlink" context="#stay" String="'([A-Z][a-zA-Z0-9_']*\.)*[a-z_][a-zA-Z0-9_']*'" />
0554 <RegExpr attribute="Haddock Module" context="#stay" String=""([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*"" />
0555 <RangeDetect context="Start Haddock Emphasis" lookAhead="true" char="/" char1="/" />
0556 <RegExpr attribute="Haddock Bold" context="Start Haddock Bold" lookAhead="true" String="__.*?__" />
0557 </context>
0558 <context attribute="Haddock Emphasis" lineEndContext="#pop" name="Start Haddock Emphasis">
0559 <DetectChar attribute="Haddock Emphasis" context="Haddock Emphasis" char="/" />
0560 </context>
0561 <context attribute="Haddock Emphasis" lineEndContext="#pop" name="Haddock Emphasis">
0562 <DetectSpaces attribute="Haddock Emphasis" />
0563 <DetectChar attribute="Haddock Emphasis" context="#pop#pop" char="/" />
0564 <IncludeRules context="Haddock"/>
0565 <DetectIdentifier attribute="Haddock Emphasis" />
0566 </context>
0567 <context attribute="Haddock Bold" lineEndContext="#pop" name="Start Haddock Bold">
0568 <Detect2Chars attribute="Haddock Bold" context="Haddock Bold" char="_" char1="_" />
0569 </context>
0570 <context attribute="Haddock Bold" lineEndContext="#pop" name="Haddock Bold">
0571 <Detect2Chars attribute="Haddock Bold" context="#pop#pop" char="_" char1="_" />
0572 <IncludeRules context="Haddock"/>
0573 </context>
0574
0575 <!-- C Preprocessor -->
0576 <context attribute="C Preprocessor" lineEndContext="#pop" name="C Preprocessor">
0577 <keyword attribute="C Preprocessor Keyword" context="#stay" String="cpp_keywords" />
0578 <RegExpr context="#stay" String=".*>$" />
0579 </context>
0580
0581 <!-- C2Hs -->
0582 <context attribute="C2HS Directive" lineEndContext="#stay" name="c2hs directive">
0583 <DetectSpaces attribute="C2HS Directive" />
0584 <Detect2Chars attribute="C2HS Directive" context="#pop" char="#" char1="}" />
0585 <keyword attribute="Keyword" context="#stay" String="c2hs_keywords" />
0586 <StringDetect attribute="Keyword" context="#stay" String="context" />
0587 <StringDetect attribute="Keyword" context="#stay" String="call" />
0588 <StringDetect attribute="Keyword" context="#stay" String="sizeof" />
0589 <StringDetect attribute="Keyword" context="#stay" String="alignof" />
0590 <StringDetect attribute="Keyword" context="c2hs fun" String="fun" />
0591 <StringDetect attribute="Keyword" context="c2hs pointer" String="pointer" />
0592 <StringDetect attribute="Keyword" context="c2hs enum" String="enum" />
0593 <StringDetect attribute="Keyword" context="c2hs enum" String="import" />
0594 </context>
0595 <context attribute="C2HS Directive" lineEndContext="#stay" name="c2hs enum">
0596 <DetectSpaces attribute="C2HS Directive" />
0597 <RegExpr attribute="Type" context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" />
0598 <Detect2Chars attribute="C2HS Directive" context="#pop#pop" char="#" char1="}" />
0599 <DetectIdentifier attribute="C2HS Directive" />
0600 </context>
0601 <context attribute="C2HS Directive" lineEndContext="#stay" name="c2hs pointer">
0602 <DetectSpaces attribute="C2HS Directive" />
0603 <keyword attribute="Keyword" context="#stay" String="c2hs_keywords" />
0604 <StringDetect attribute="Keyword" context="#stay" String="newtype" />
0605 <RegExpr attribute="Type" context="#stay" String="([A-Z][a-zA-Z0-9_']*\.)*[A-Z][a-zA-Z0-9_']*" />
0606 <Detect2Chars attribute="C2HS Directive" context="#pop#pop" char="#" char1="}" />
0607 <DetectIdentifier attribute="C2HS Directive" />
0608 </context>
0609 <context attribute="C2HS Directive" lineEndContext="#stay" name="c2hs fun">
0610 <DetectSpaces attribute="C2HS Directive" />
0611 <keyword attribute="Keyword" context="#stay" String="c2hs_keywords" />
0612 <RangeDetect attribute="Type" context="#stay" char="`" char1="'" />
0613 <Detect2Chars attribute="C2HS Directive" context="#pop#pop" char="#" char1="}" />
0614 <DetectIdentifier attribute="C2HS Directive" />
0615 </context>
0616 </contexts>
0617 <itemDatas>
0618 <itemData name="Normal" defStyleNum="dsNormal" spellChecking="false" />
0619 <itemData name="Comment" defStyleNum="dsComment" />
0620 <itemData name="Pragma" defStyleNum="dsOthers" spellChecking="false" />
0621
0622 <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
0623 <itemData name="Type Prelude" defStyleNum="dsDataType" spellChecking="false" />
0624 <itemData name="Function Prelude" defStyleNum="dsFunction" spellChecking="false" />
0625 <itemData name="Data Prelude" defStyleNum="dsDataType" spellChecking="false" />
0626 <itemData name="Class Prelude" defStyleNum="dsDataType" spellChecking="false" />
0627
0628 <itemData name="Signature" defStyleNum="dsOthers" spellChecking="false" />
0629 <itemData name="Function" defStyleNum="dsNormal" spellChecking="false" />
0630 <itemData name="Operator" defStyleNum="dsOperator" spellChecking="false" />
0631 <itemData name="Type" defStyleNum="dsDataType" spellChecking="false" />
0632 <itemData name="Special" defStyleNum="dsOthers" spellChecking="false" />
0633
0634 <itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false" />
0635 <itemData name="Hex" defStyleNum="dsBaseN" spellChecking="false" />
0636 <itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" />
0637 <itemData name="Float" defStyleNum="dsFloat" spellChecking="false" />
0638 <itemData name="Char" defStyleNum="dsChar" spellChecking="false" />
0639 <itemData name="String" defStyleNum="dsString" />
0640
0641 <itemData name="Function Infix" defStyleNum="dsOthers" spellChecking="false" />
0642 <itemData name="EnumFromTo" defStyleNum="dsOthers" spellChecking="false" />
0643
0644 <itemData name="C Preprocessor" defStyleNum="dsPreprocessor" spellChecking="false" />
0645 <itemData name="C Preprocessor Keyword" defStyleNum="dsPreprocessor" spellChecking="false" />
0646
0647 <itemData name="Haddock Hyperlink" defStyleNum="dsComment" spellChecking="false" underline="true" />
0648 <itemData name="Haddock Module" defStyleNum="dsComment" spellChecking="false" underline="true" />
0649 <itemData name="Haddock Emphasis" defStyleNum="dsComment" italic="true"/>
0650 <itemData name="Haddock Bold" defStyleNum="dsComment" bold="true"/>
0651
0652 <itemData name="C2HS Directive" defStyleNum="dsString" spellChecking="false" />
0653 </itemDatas>
0654 </highlighting>
0655 <general>
0656 <folding indentationsensitive="1"/>
0657 <comments>
0658 <comment name="singleLine" start="--" />
0659 <comment name="multiLine" start="{-" end="-}" region="BlockComment" />
0660 </comments>
0661 <keywords casesensitive="1" />
0662 </general>
0663 </language>
0664 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->