File indexing completed on 2025-02-02 03:54:44
0001 <!DOCTYPE html> 0002 <html><head> 0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 0004 <title>highlight.hs</title> 0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Haskell) - Theme (Breeze Light)"/> 0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre> 0007 <span style="color:#898887">-- test file for Haskell syntax highlighting in KDE's Kate</span> 0008 0009 <span style="color:#898887">-- The test file for literate Haskell can be easily created like this:</span> 0010 <span style="color:#898887">-- cat highlight.hs | sed -e "s|^|> |" -e "s|> -- ||" -e "s|^> $||" > highlight.lhs</span> 0011 <span style="color:#898887">-- You only have to manually edit the multi-line comment below.</span> 0012 0013 <span style="color:#898887">-- this is a single-line comment</span> 0014 0015 <span style="color:#898887">{- this is a multi-line comment</span> 0016 0017 <span style="color:#898887">Things like "a string" or a </span><span style="color:#898887;text-decoration:underline">'c'</span><span style="color:#898887"> character shouldn't be highlighted in here.</span> 0018 0019 <span style="color:#898887">-- I could even start a new</span> 0020 <span style="color:#898887">-- one-line comment.</span> 0021 0022 <span style="color:#898887">-}</span> 0023 0024 <span style="font-weight:bold">import</span> <span style="color:#0057ae">Prelude</span> <span style="color:#898887">--</span> 0025 <span style="font-weight:bold">import</span> <span style="color:#0057ae">Prelude</span> <span style="color:#898887">---</span> 0026 0027 <span style="color:#898887">-- a data definition</span> 0028 0029 <span style="font-weight:bold">data</span> <span style="color:#0057ae">Tree</span> a <span style="color:#006e28">=</span> <span style="color:#0057ae">Br</span> (<span style="color:#0057ae">Tree</span> a) (<span style="color:#0057ae">Tree</span> a) <span style="color:#ca60ca">|</span> <span style="color:#0057ae">Leaf</span> a <span style="color:#ca60ca">|</span> <span style="color:#0057ae">Nil</span> <span style="font-weight:bold">deriving</span> (<span style="color:#0057ae">Show</span>, <span style="color:#0057ae">Eq</span>) 0030 0031 0032 <span style="color:#898887">-- function definition, "funnyfunction::", </span><span style="color:#898887;text-decoration:underline">"Integer"</span><span style="color:#898887">, </span><span style="color:#898887;text-decoration:underline">"Int"</span><span style="color:#898887">, </span><span style="color:#898887;text-decoration:underline">"Bool"</span><span style="color:#898887"> should be highlighted</span> 0033 0034 <span style="color:#006e28">funnyfunction</span><span style="color:#006e28">::</span>(<span style="color:#0057ae">Tree</span> a)<span style="color:#006e28">=></span>[a]<span style="color:#006e28">-></span><span style="color:#0057ae">Integer</span><span style="color:#006e28">-></span><span style="color:#0057ae">Int</span><span style="color:#006e28">-></span><span style="color:#0057ae">Bool</span> 0035 0036 0037 <span style="color:#898887">-- strings and chars</span> 0038 <span style="color:#898887">-- first line of function definitions (type declaration) should be highlighted</span> 0039 0040 <span style="color:#006e28">strangefunction</span><span style="color:#006e28">::</span><span style="color:#0057ae">Int</span><span style="color:#006e28">-></span><span style="color:#0057ae">String</span> 0041 strangefunction <span style="color:#b08000">1</span> <span style="color:#006e28">=</span> <span style="color:#bf0303">"hello"</span> 0042 strangefunction <span style="color:#b08000">2</span> <span style="color:#006e28">=</span> <span style="color:#bf0303">"what's up"</span> 0043 strangefunction <span style="color:#b08000">3</span> <span style="color:#006e28">=</span> (strangefunction <span style="color:#b08000">1</span>) <span style="color:#ca60ca">++</span> <span style="color:#bf0303">", "</span> <span style="color:#ca60ca">++</span> (strangefunction <span style="color:#b08000">2</span>) 0044 strangefunction <span style="color:#b08000">4</span> <span style="color:#006e28">=</span> <span style="color:#924c9d">'a'</span><span style="color:#ca60ca">:</span><span style="color:#924c9d">'b'</span><span style="color:#ca60ca">:</span><span style="color:#924c9d">'c'</span><span style="color:#ca60ca">:</span><span style="color:#924c9d">'"'</span><span style="color:#ca60ca">:</span>[] <span style="color:#898887">-- will return "abc"</span> 0045 strangefunction <span style="color:#b08000">5</span> <span style="color:#006e28">=</span> <span style="color:#924c9d">'\n'</span><span style="color:#ca60ca">:</span>[] 0046 strangefunction <span style="color:#b08000">6</span> <span style="color:#006e28">=</span> <span style="color:#924c9d">'\invalidhaskell'</span><span style="color:#ca60ca">:</span>[] 0047 0048 <span style="color:#898887">-- function name including the single quote character</span> 0049 <span style="color:#898887">-- and infix operator (`div`)</span> 0050 0051 <span style="color:#006e28">justtesting'</span><span style="color:#006e28">::</span><span style="color:#0057ae">Int</span><span style="color:#006e28">-></span><span style="color:#0057ae">Int</span> 0052 justtesting' <span style="color:#b08000">2</span> <span style="color:#006e28">=</span> <span style="color:#b08000">2</span><span style="color:#ca60ca">+</span><span style="color:#b08000">1</span> 0053 justtesting' <span style="color:#b08000">9</span> <span style="color:#006e28">=</span> <span style="color:#b08000">7</span> <span style="color:#006e28">`div`</span> <span style="color:#b08000">2</span> 0054 0055 <span style="color:#898887">-- same definition as above, slightly different function name and a couple more whitespaces</span> 0056 0057 <span style="color:#006e28">justtesting'' </span><span style="color:#006e28">::</span> <span style="color:#0057ae">Int</span> <span style="color:#006e28">-></span> <span style="color:#0057ae">Int</span> 0058 justtesting'' <span style="color:#b08000">2</span> <span style="color:#006e28">=</span> <span style="color:#b08000">3</span> 0059 justtesting'' <span style="color:#b08000">9</span> <span style="color:#006e28">=</span> <span style="color:#b08000">3</span> <span style="color:#ca60ca">+</span> <span style="color:#b08000">9</span> <span style="color:#ca60ca">-</span> <span style="color:#b08000">9</span> 0060 0061 <span style="color:#898887">-- the following lines are copied out of Haskell's "Prelude.hs"</span> 0062 0063 <span style="font-weight:bold">infixl</span> <span style="color:#b08000">7</span> <span style="color:#ca60ca">*</span>, <span style="color:#ca60ca">/</span>, <span style="color:#006e28">`quot`</span>, <span style="color:#006e28">`rem`</span>, <span style="color:#006e28">`div`</span>, <span style="color:#006e28">`mod`</span>, <span style="color:#ca60ca">:%</span>, <span style="color:#ca60ca">%</span> 0064 0065 0066 <span style="color:#898887">-- everything highlighted except the "a"</span> 0067 0068 <span style="font-weight:bold">class</span> <span style="color:#0057ae">Bounded</span> a <span style="font-weight:bold">where</span> 0069 <span style="color:#644a9b">minBound</span>,<span style="color:#006e28"> maxBound </span><span style="color:#006e28">::</span> a 0070 0071 <span style="font-weight:bold">class</span> (<span style="color:#0057ae">Num</span> a, <span style="color:#0057ae">Ord</span> a) <span style="color:#006e28">=></span> <span style="color:#0057ae">Real</span> a <span style="font-weight:bold">where</span> 0072 <span style="color:#006e28"> toRational </span><span style="color:#006e28">::</span> a <span style="color:#006e28">-></span> <span style="color:#0057ae">Rational</span> 0073 0074 <span style="color:#898887">-- finally, some keyword lists</span> 0075 0076 <span style="color:#898887">-- keywords</span> 0077 0078 <span style="font-weight:bold">case</span>, <span style="font-weight:bold">class</span>, <span style="font-weight:bold">data</span>, <span style="font-weight:bold">deriving</span>, <span style="font-weight:bold">do</span>, <span style="font-weight:bold">else</span>, <span style="font-weight:bold">family</span>, <span style="font-weight:bold">forall</span>, <span style="font-weight:bold">if</span>, <span style="font-weight:bold">in</span>, <span style="font-weight:bold">infixl</span>, <span style="font-weight:bold">infixr</span>, 0079 <span style="font-weight:bold">instance</span>, <span style="font-weight:bold">let</span>, <span style="font-weight:bold">module</span>, <span style="font-weight:bold">of</span>, <span style="font-weight:bold">pattern</span>, <span style="font-weight:bold">primitive</span>, 0080 <span style="font-weight:bold">then</span>, <span style="font-weight:bold">type</span>, <span style="font-weight:bold">where</span> 0081 0082 <span style="color:#898887">-- infix operators</span> 0083 0084 <span style="color:#644a9b">quot</span>, <span style="color:#644a9b">rem</span>, <span style="color:#644a9b">div</span>, <span style="color:#644a9b">mod</span>, <span style="color:#644a9b">elem</span>, <span style="color:#644a9b">notElem</span>, <span style="color:#644a9b">seq</span> 0085 0086 <span style="color:#898887">-- this stuff is not handled yet</span> 0087 0088 <span style="color:#ca60ca">!!</span>, <span style="color:#ca60ca">%</span>, <span style="color:#ca60ca">&&</span>, <span style="color:#ca60ca">$!</span>, <span style="color:#ca60ca">$</span>, <span style="color:#ca60ca">*</span>, <span style="color:#ca60ca">**</span>, <span style="color:#ca60ca">-</span>,<span style="color:#ca60ca">.</span>, <span style="color:#ca60ca">/=</span>, <span style="color:#ca60ca"><</span>, <span style="color:#ca60ca"><=</span>, <span style="color:#ca60ca">=<<</span>, <span style="color:#ca60ca">==</span>, <span style="color:#ca60ca">></span>, <span style="color:#ca60ca">>=</span>, <span style="color:#ca60ca">>></span>, <span style="color:#ca60ca">>>=</span>, <span style="color:#ca60ca">^</span>, <span style="color:#ca60ca">^^</span>, <span style="color:#ca60ca">++</span>, <span style="color:#ca60ca">||</span> 0089 0090 <span style="color:#898887">-- functions</span> 0091 0092 <span style="color:#644a9b">abs</span>, <span style="color:#644a9b">acos</span>, <span style="color:#644a9b">acosh</span>, <span style="color:#644a9b">all</span>, <span style="color:#644a9b">and</span>, <span style="color:#644a9b">any</span>, <span style="color:#644a9b">appendFile</span>, 0093 <span style="color:#644a9b">approxRational</span>, <span style="color:#644a9b">asTypeOf</span>, <span style="color:#644a9b">asin</span>, <span style="color:#644a9b">asinh</span>, <span style="color:#644a9b">atan</span>, <span style="color:#644a9b">atan2</span>, <span style="color:#644a9b">atanh</span>, <span style="color:#644a9b">basicIORun</span>, 0094 <span style="color:#644a9b">break</span>, <span style="color:#644a9b">catch</span>, <span style="color:#644a9b">ceiling</span>, <span style="color:#644a9b">chr</span>, <span style="color:#644a9b">compare</span>, <span style="color:#644a9b">concat</span>, <span style="color:#644a9b">concatMap</span>, <span style="color:#644a9b">const</span>, <span style="color:#644a9b">cos</span>, <span style="color:#644a9b">cosh</span>, 0095 <span style="color:#644a9b">curry</span>, <span style="color:#644a9b">cycle</span>, <span style="color:#644a9b">decodeFloat</span>, <span style="color:#644a9b">denominator</span>, <span style="color:#644a9b">digitToInt</span>, <span style="color:#644a9b">div</span>, <span style="color:#644a9b">divMod</span>, <span style="color:#644a9b">drop</span>, 0096 <span style="color:#644a9b">dropWhile</span>, <span style="color:#644a9b">either</span>, <span style="color:#644a9b">elem</span>, <span style="color:#644a9b">encodeFloat</span>, <span style="color:#644a9b">enumFrom</span>, <span style="color:#644a9b">enumFromThen</span>, 0097 <span style="color:#644a9b">enumFromThenTo</span>, <span style="color:#644a9b">enumFromTo</span>, <span style="color:#644a9b">error</span>, <span style="color:#644a9b">even</span>, <span style="color:#644a9b">exp</span>, <span style="color:#644a9b">exponent</span>, <span style="color:#644a9b">fail</span>, <span style="color:#644a9b">filter</span>, <span style="color:#644a9b">flip</span>, 0098 <span style="color:#644a9b">floatDigits</span>, <span style="color:#644a9b">floatRadix</span>, <span style="color:#644a9b">floatRange</span>, <span style="color:#644a9b">floor</span>, <span style="color:#644a9b">fmap</span>, <span style="color:#644a9b">foldl</span>, <span style="color:#644a9b">foldl1</span>, <span style="color:#644a9b">foldr</span>, 0099 <span style="color:#644a9b">foldr1</span>, <span style="color:#644a9b">fromDouble</span>, <span style="color:#644a9b">fromEnum</span>, <span style="color:#644a9b">fromInt</span>, <span style="color:#644a9b">fromInteger</span>, <span style="color:#644a9b">fromIntegral</span>, 0100 <span style="color:#644a9b">fromRational</span>, <span style="color:#644a9b">fst</span>, <span style="color:#644a9b">gcd</span>, <span style="color:#644a9b">getChar</span>, <span style="color:#644a9b">getContents</span>, <span style="color:#644a9b">getLine</span>, <span style="color:#644a9b">head</span>, <span style="color:#644a9b">id</span>, <span style="color:#644a9b">inRange</span>, 0101 <span style="color:#644a9b">index</span>, <span style="color:#644a9b">init</span>, <span style="color:#644a9b">intToDigit</span>, <span style="color:#644a9b">interact</span>, <span style="color:#644a9b">ioError</span>, <span style="color:#644a9b">isAlpha</span>, <span style="color:#644a9b">isAlphaNum</span>, <span style="color:#644a9b">isAscii</span>, 0102 <span style="color:#644a9b">isControl</span>, <span style="color:#644a9b">isDenormalized</span>, <span style="color:#644a9b">isDigit</span>, <span style="color:#644a9b">isHexDigit</span>, <span style="color:#644a9b">isIEEE</span>, <span style="color:#644a9b">isInfinite</span>, <span style="color:#644a9b">isLower</span>, 0103 <span style="color:#644a9b">isNaN</span>, <span style="color:#644a9b">isNegativeZero</span>, <span style="color:#644a9b">isOctDigit</span>, <span style="color:#644a9b">isPrint</span>, <span style="color:#644a9b">isSpace</span>, <span style="color:#644a9b">isUpper</span>, <span style="color:#644a9b">iterate</span>, <span style="color:#644a9b">last</span>, 0104 <span style="color:#644a9b">lcm</span>, <span style="color:#644a9b">length</span>, <span style="color:#644a9b">lex</span>, <span style="color:#644a9b">lexDigits</span>, <span style="color:#644a9b">lexLitChar</span>, <span style="color:#644a9b">lines</span>, <span style="color:#644a9b">log</span>, <span style="color:#644a9b">logBase</span>, <span style="color:#644a9b">lookup</span>, <span style="color:#644a9b">map</span>, 0105 <span style="color:#644a9b">mapM</span>, <span style="color:#644a9b">mapM_</span>, <span style="color:#644a9b">max</span>, <span style="color:#644a9b">maxBound</span>, <span style="color:#644a9b">maximum</span>, <span style="color:#644a9b">maybe</span>, <span style="color:#644a9b">min</span>, <span style="color:#644a9b">minBound</span>, <span style="color:#644a9b">minimum</span>, <span style="color:#644a9b">mod</span>, 0106 <span style="color:#644a9b">negate</span>, <span style="color:#644a9b">not</span>, <span style="color:#644a9b">notElem</span>, <span style="color:#644a9b">null</span>, <span style="color:#644a9b">numerator</span>, <span style="color:#644a9b">odd</span>, <span style="color:#644a9b">or</span>, <span style="color:#644a9b">ord</span>, <span style="color:#644a9b">otherwise</span>, <span style="color:#644a9b">pi</span>, <span style="color:#644a9b">pred</span>, 0107 <span style="color:#644a9b">primExitWith</span>, <span style="color:#644a9b">print</span>, <span style="color:#644a9b">product</span>, <span style="color:#644a9b">properFraction</span>, <span style="color:#644a9b">putChar</span>, <span style="color:#644a9b">putStr</span>, <span style="color:#644a9b">putStrLn</span>, 0108 <span style="color:#644a9b">quot</span>, <span style="color:#644a9b">quotRem</span>, <span style="color:#644a9b">range</span>, <span style="color:#644a9b">rangeSize</span>, <span style="color:#644a9b">read</span>, <span style="color:#644a9b">readDec</span>, <span style="color:#644a9b">readFile</span>, <span style="color:#644a9b">readFloat</span>, 0109 <span style="color:#644a9b">readHex</span>, <span style="color:#644a9b">readIO</span>, <span style="color:#644a9b">readInt</span>, <span style="color:#644a9b">readList</span>, <span style="color:#644a9b">readLitChar</span>, <span style="color:#644a9b">readLn</span>, <span style="color:#644a9b">readOct</span>, <span style="color:#644a9b">readParen</span>, 0110 <span style="color:#644a9b">readSigned</span>, <span style="color:#644a9b">reads</span>, <span style="color:#644a9b">readsPrec</span>, <span style="color:#644a9b">realToFrac</span>, <span style="color:#644a9b">recip</span>, <span style="color:#644a9b">rem</span>, <span style="color:#644a9b">repeat</span>, <span style="color:#644a9b">replicate</span>, 0111 <span style="color:#644a9b">return</span>, <span style="color:#644a9b">reverse</span>, <span style="color:#644a9b">round</span>, <span style="color:#644a9b">scaleFloat</span>, <span style="color:#644a9b">scanl</span>, <span style="color:#644a9b">scanl1</span>, <span style="color:#644a9b">scanr</span>, <span style="color:#644a9b">scanr1</span>, <span style="color:#644a9b">seq</span>, 0112 <span style="color:#644a9b">sequence</span>, <span style="color:#644a9b">sequence_</span>, <span style="color:#644a9b">show</span>, <span style="color:#644a9b">showChar</span>, <span style="color:#644a9b">showInt</span>, <span style="color:#644a9b">showList</span>, <span style="color:#644a9b">showLitChar</span>, 0113 <span style="color:#644a9b">showParen</span>, <span style="color:#644a9b">showSigned</span>, <span style="color:#644a9b">showString</span>, <span style="color:#644a9b">shows</span>, <span style="color:#644a9b">showsPrec</span>, <span style="color:#644a9b">significand</span>, <span style="color:#644a9b">signum</span>, 0114 <span style="color:#644a9b">sin</span>, <span style="color:#644a9b">sinh</span>, <span style="color:#644a9b">snd</span>, <span style="color:#644a9b">span</span>, <span style="color:#644a9b">splitAt</span>, <span style="color:#644a9b">sqrt</span>, <span style="color:#644a9b">subtract</span>, <span style="color:#644a9b">succ</span>, <span style="color:#644a9b">sum</span>, <span style="color:#644a9b">tail</span>, <span style="color:#644a9b">take</span>, 0115 <span style="color:#644a9b">either</span>, <span style="color:#644a9b">elem</span>, <span style="color:#644a9b">encodeFloat</span>, <span style="color:#644a9b">enumFrom</span>, <span style="color:#644a9b">enumFromThen</span>, <span style="color:#644a9b">enumFromThenTo</span>, 0116 <span style="color:#644a9b">enumFromTo</span>, <span style="color:#644a9b">error</span>, <span style="color:#644a9b">even</span>, <span style="color:#644a9b">exp</span>, <span style="color:#644a9b">exponent</span>, <span style="color:#644a9b">fail</span>, <span style="color:#644a9b">filter</span>, <span style="color:#644a9b">flip</span>, <span style="color:#644a9b">floatDigits</span>, 0117 <span style="color:#644a9b">floatRadix</span>, <span style="color:#644a9b">floatRange</span>, <span style="color:#644a9b">floor</span>, <span style="color:#644a9b">fmap</span>, <span style="color:#644a9b">takeWhile</span>, <span style="color:#644a9b">tan</span>, <span style="color:#644a9b">tanh</span>, <span style="color:#644a9b">threadToIOResult</span>, 0118 <span style="color:#644a9b">toEnum</span>, <span style="color:#644a9b">toInt</span>, <span style="color:#644a9b">toInteger</span>, <span style="color:#644a9b">toLower</span>, <span style="color:#644a9b">toRational</span>, <span style="color:#644a9b">toUpper</span>, <span style="color:#644a9b">truncate</span>, <span style="color:#644a9b">uncurry</span>, 0119 <span style="color:#644a9b">undefined</span>, <span style="color:#644a9b">unlines</span>, <span style="color:#644a9b">until</span>, <span style="color:#644a9b">unwords</span>, <span style="color:#644a9b">unzip</span>, <span style="color:#644a9b">unzip3</span>, <span style="color:#644a9b">userError</span>, <span style="color:#644a9b">words</span>, 0120 <span style="color:#644a9b">writeFile</span>, <span style="color:#644a9b">zip</span>, <span style="color:#644a9b">zip3</span>, <span style="color:#644a9b">zipWith</span>, <span style="color:#644a9b">zipWith3</span> 0121 0122 <span style="color:#898887">-- type constructors</span> 0123 0124 <span style="color:#0057ae">Bool</span>, <span style="color:#0057ae">Char</span>, <span style="color:#0057ae">Double</span>, <span style="color:#0057ae">Either</span>, <span style="color:#0057ae">FilePath</span>, <span style="color:#0057ae">Float</span>, <span style="color:#0057ae">IO</span>, <span style="color:#0057ae">IOError</span>, <span style="color:#0057ae">Integer</span>, <span style="color:#0057ae">Int</span>, <span style="color:#0057ae">Maybe</span>, 0125 <span style="color:#0057ae">Ordering</span>, <span style="color:#0057ae">Rational</span>, <span style="color:#0057ae">Ratio</span>, <span style="color:#0057ae">ReadS</span>, <span style="color:#0057ae">ShowS</span>, <span style="color:#0057ae">String</span> 0126 0127 <span style="color:#898887">-- classes</span> 0128 0129 <span style="color:#0057ae">Bounded</span>, <span style="color:#0057ae">Enum</span>, <span style="color:#0057ae">Eq</span>, <span style="color:#0057ae">Floating</span>, <span style="color:#0057ae">Fractional</span>, <span style="color:#0057ae">Functor</span>, <span style="color:#0057ae">Integral</span>, <span style="color:#0057ae">Ix</span>, <span style="color:#0057ae">Monad</span>, <span style="color:#0057ae">Num</span>, <span style="color:#0057ae">Ord</span>, <span style="color:#0057ae">Read</span>, <span style="color:#0057ae">RealFloat</span>, 0130 <span style="color:#0057ae">RealFrac</span>, <span style="color:#0057ae">Real</span>, <span style="color:#0057ae">Show</span> 0131 0132 <span style="color:#898887">-- data constructors</span> 0133 0134 <span style="color:#0057ae">EQ</span>, <span style="color:#0057ae">False</span>, <span style="color:#0057ae">GT</span>, <span style="color:#0057ae">Just</span>, <span style="color:#0057ae">LT</span>, <span style="color:#0057ae">Left</span>, <span style="color:#0057ae">Nothing</span>, <span style="color:#0057ae">Right</span>, <span style="color:#0057ae">True</span> 0135 0136 <span style="color:#898887">-- promoted data constructors</span> 0137 0138 <span style="color:#0057ae">'True</span> 0139 0140 <span style="color:#898887">-- pragma with compiler flags</span> 0141 0142 <span style="color:#006e28">{-# OPTIONS_GHC -fno-warn-orphans #-}</span> 0143 0144 <span style="color:#898887">-- multiline pragma with language extensions</span> 0145 0146 <span style="color:#006e28">{-# LANGUAGE OverlappingInstances,</span> 0147 <span style="color:#006e28"> BangPatterns</span> 0148 <span style="color:#006e28">#-}</span> 0149 </pre></body></html>