Changeset View
Changeset View
Standalone View
Standalone View
autotests/html/highlight.lhs.html
Show All 17 Lines | |||||
18 | 18 | | |||
19 | I could even start a new | 19 | I could even start a new | ||
20 | one-line comment. | 20 | one-line comment. | ||
21 | 21 | | |||
22 | -} | 22 | -} | ||
23 | 23 | | |||
24 | a data definition | 24 | a data definition | ||
25 | 25 | | |||
26 | <span style="color:#006e28;">></span> <span style="font-weight:bold;">data</span> <span style="color:#0057ae;">Tree</span> a <span style="color:#644a9b;">=</span> <span style="color:#0057ae;">Br</span> (<span style="color:#0057ae;">Tree</span> a) (<span style="color:#0057ae;">Tree</span> a) <span style="color:#644a9b;">|</span> <span style="color:#0057ae;">Leaf</span> a <span style="color:#644a9b;">|</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>) | 26 | <span style="color:#006e28;">></span> <span style="font-weight:bold;">data</span> <span style="color:#0057ae;">Tree</span> a = <span style="color:#0057ae;">Br</span> (<span style="color:#0057ae;">Tree</span> a) (<span style="color:#0057ae;">Tree</span> a) | <span style="color:#0057ae;">Leaf</span> a | <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>) | ||
27 | 27 | | |||
28 | 28 | | |||
29 | function definition, "funnyfunction::", "Integer", "Int", "Bool" should be highlighted | 29 | function definition, "funnyfunction::", "Integer", "Int", "Bool" should be highlighted | ||
30 | 30 | | |||
31 | <span style="color:#006e28;">></span><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> | 31 | <span style="color:#006e28;">></span><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> | ||
32 | 32 | | |||
33 | 33 | | |||
34 | strings and chars | 34 | strings and chars | ||
35 | first line of function definitions (type declaration) should be highlighted | 35 | first line of function definitions (type declaration) should be highlighted | ||
36 | 36 | | |||
37 | <span style="color:#006e28;">></span><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> | 37 | <span style="color:#006e28;">></span><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> | ||
38 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">1</span> <span style="color:#644a9b;">=</span> <span style="color:#bf0303;">"hello"</span> | 38 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">1</span> = <span style="color:#bf0303;">"hello"</span> | ||
39 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">2</span> <span style="color:#644a9b;">=</span> <span style="color:#bf0303;">"what's up"</span> | 39 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">2</span> = <span style="color:#bf0303;">"what's up"</span> | ||
40 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">3</span> <span style="color:#644a9b;">=</span> (strangefunction <span style="color:#b08000;">1</span>) <span style="color:#644a9b;">++</span> <span style="color:#bf0303;">", "</span> <span style="color:#644a9b;">++</span> (strangefunction <span style="color:#b08000;">2</span>) | 40 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">3</span> = (strangefunction <span style="color:#b08000;">1</span>) ++ <span style="color:#bf0303;">", "</span> ++ (strangefunction <span style="color:#b08000;">2</span>) | ||
41 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">4</span> <span style="color:#644a9b;">=</span> <span style="color:#924c9d;">'a'</span><span style="color:#644a9b;">:</span><span style="color:#924c9d;">'b'</span><span style="color:#644a9b;">:</span><span style="color:#924c9d;">'c'</span><span style="color:#644a9b;">:</span><span style="color:#924c9d;">'"'</span><span style="color:#644a9b;">:</span>[] <span style="color:#898887;">-- will return "abc"</span> | 41 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">4</span> = <span style="color:#924c9d;">'a'</span>:<span style="color:#924c9d;">'b'</span>:<span style="color:#924c9d;">'c'</span>:<span style="color:#924c9d;">'"'</span>:[] <span style="color:#898887;">-- will return "abc"</span> | ||
42 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">5</span> <span style="color:#644a9b;">=</span> <span style="color:#924c9d;">'\n'</span><span style="color:#644a9b;">:</span>[] | 42 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">5</span> = <span style="color:#924c9d;">'\n'</span>:[] | ||
43 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">6</span> <span style="color:#644a9b;">=</span> <span style="color:#924c9d;">'\invalidhaskell'</span><span style="color:#644a9b;">:</span>[] | 43 | <span style="color:#006e28;">></span> strangefunction <span style="color:#b08000;">6</span> = <span style="color:#924c9d;">'\invalidhaskell'</span>:[] | ||
44 | 44 | | |||
45 | function name including the single quote character | 45 | function name including the single quote character | ||
46 | and infix operator (`div`) | 46 | and infix operator (`div`) | ||
47 | 47 | | |||
48 | <span style="color:#006e28;">></span><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> | 48 | <span style="color:#006e28;">></span><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> | ||
49 | <span style="color:#006e28;">></span> justtesting' <span style="color:#b08000;">2</span> <span style="color:#644a9b;">=</span> <span style="color:#b08000;">2</span><span style="color:#644a9b;">+</span><span style="color:#b08000;">1</span> | 49 | <span style="color:#006e28;">></span> justtesting' <span style="color:#b08000;">2</span> = <span style="color:#b08000;">2</span>+<span style="color:#b08000;">1</span> | ||
50 | <span style="color:#006e28;">></span> justtesting' <span style="color:#b08000;">9</span> <span style="color:#644a9b;">=</span> <span style="color:#b08000;">7</span> <span style="color:#006e28;">`div`</span> <span style="color:#b08000;">2</span> | 50 | <span style="color:#006e28;">></span> justtesting' <span style="color:#b08000;">9</span> = <span style="color:#b08000;">7</span> <span style="color:#006e28;">`div`</span> <span style="color:#b08000;">2</span> | ||
51 | 51 | | |||
52 | same definition as above, slightly different function name and a couple more whitespaces | 52 | same definition as above, slightly different function name and a couple more whitespaces | ||
53 | 53 | | |||
54 | <span style="color:#006e28;">></span><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> | 54 | <span style="color:#006e28;">></span><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> | ||
55 | <span style="color:#006e28;">></span> justtesting'' <span style="color:#b08000;">2</span> <span style="color:#644a9b;">=</span> <span style="color:#b08000;">3</span> | 55 | <span style="color:#006e28;">></span> justtesting'' <span style="color:#b08000;">2</span> = <span style="color:#b08000;">3</span> | ||
56 | <span style="color:#006e28;">></span> justtesting'' <span style="color:#b08000;">9</span> <span style="color:#644a9b;">=</span> <span style="color:#b08000;">3</span> <span style="color:#644a9b;">+</span> <span style="color:#b08000;">9</span> <span style="color:#644a9b;">-</span> <span style="color:#b08000;">9</span> | 56 | <span style="color:#006e28;">></span> justtesting'' <span style="color:#b08000;">9</span> = <span style="color:#b08000;">3</span> + <span style="color:#b08000;">9</span> - <span style="color:#b08000;">9</span> | ||
57 | 57 | | |||
58 | the following lines are copied out of Haskell's "Prelude.hs" | 58 | the following lines are copied out of Haskell's "Prelude.hs" | ||
59 | 59 | | |||
60 | <span style="color:#006e28;">></span> <span style="font-weight:bold;">infixl</span> <span style="color:#b08000;">7</span> <span style="color:#644a9b;">*</span>, <span style="color:#644a9b;">/</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:#644a9b;">:%</span>, <span style="color:#644a9b;">%</span> | 60 | <span style="color:#006e28;">></span> <span style="font-weight:bold;">infixl</span> <span style="color:#b08000;">7</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>, :%, % | ||
61 | 61 | | |||
62 | 62 | | |||
63 | everything highlighted except the "a" | 63 | everything highlighted except the "a" | ||
64 | 64 | | |||
65 | <span style="color:#006e28;">></span> <span style="font-weight:bold;">class</span> <span style="color:#0057ae;">Bounded</span> a <span style="font-weight:bold;">where</span> | 65 | <span style="color:#006e28;">></span> <span style="font-weight:bold;">class</span> <span style="color:#0057ae;">Bounded</span> a <span style="font-weight:bold;">where</span> | ||
66 | <span style="color:#006e28;">></span> <span style="color:#644a9b;">minBound</span>,<span style="color:#006e28;"> maxBound </span><span style="color:#006e28;">::</span> a | 66 | <span style="color:#006e28;">></span> <span style="color:#644a9b;">minBound</span>,<span style="color:#006e28;"> maxBound </span><span style="color:#006e28;">::</span> a | ||
67 | 67 | | |||
68 | <span style="color:#006e28;">></span> <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> | 68 | <span style="color:#006e28;">></span> <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> | ||
69 | <span style="color:#006e28;">></span><span style="color:#006e28;"> toRational </span><span style="color:#006e28;">::</span> a <span style="color:#006e28;">-></span> <span style="color:#0057ae;">Rational</span> | 69 | <span style="color:#006e28;">></span><span style="color:#006e28;"> toRational </span><span style="color:#006e28;">::</span> a <span style="color:#006e28;">-></span> <span style="color:#0057ae;">Rational</span> | ||
70 | 70 | | |||
71 | finally, some keyword lists | 71 | finally, some keyword lists | ||
72 | 72 | | |||
73 | keywords | 73 | keywords | ||
74 | 74 | | |||
75 | <span style="color:#006e28;">></span> <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;">if</span>, <span style="font-weight:bold;">in</span>, <span style="font-weight:bold;">infixl</span>, <span style="font-weight:bold;">infixr</span>, <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;">primitive</span>, | 75 | <span style="color:#006e28;">></span> <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;">if</span>, <span style="font-weight:bold;">in</span>, <span style="font-weight:bold;">infixl</span>, <span style="font-weight:bold;">infixr</span>, <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;">primitive</span>, | ||
76 | <span style="color:#006e28;">></span> <span style="font-weight:bold;">then</span>, <span style="font-weight:bold;">type</span>, <span style="font-weight:bold;">where</span> | 76 | <span style="color:#006e28;">></span> <span style="font-weight:bold;">then</span>, <span style="font-weight:bold;">type</span>, <span style="font-weight:bold;">where</span> | ||
77 | 77 | | |||
78 | infix operators | 78 | infix operators | ||
79 | 79 | | |||
80 | <span style="color:#006e28;">></span> <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> | 80 | <span style="color:#006e28;">></span> <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> | ||
81 | 81 | | |||
82 | this stuff is not handled yet | 82 | this stuff is not handled yet | ||
83 | 83 | | |||
84 | <span style="color:#006e28;">></span> <span style="color:#644a9b;">!!</span>, <span style="color:#644a9b;">%</span>, <span style="color:#644a9b;">&&</span>, <span style="color:#644a9b;">$!</span>, <span style="color:#644a9b;">$</span>, <span style="color:#644a9b;">*</span>, <span style="color:#644a9b;">**</span>, <span style="color:#644a9b;">-</span>,<span style="color:#644a9b;">.</span>, <span style="color:#644a9b;">/=</span>, <span style="color:#644a9b;"><</span>, <span style="color:#644a9b;"><=</span>, <span style="color:#644a9b;">=<<</span>, <span style="color:#644a9b;">==</span>, <span style="color:#644a9b;">></span>, <span style="color:#644a9b;">>=</span>, <span style="color:#644a9b;">>></span>, <span style="color:#644a9b;">>>=</span>, <span style="color:#644a9b;">^</span>, <span style="color:#644a9b;">^^</span>, <span style="color:#644a9b;">++</span>, <span style="color:#644a9b;">||</span> | 84 | <span style="color:#006e28;">></span> !!, %, &&, $!, $, *, **, -,., /=, <, <=, =<<, ==, >, >=, >>, >>=, ^, ^^, ++, || | ||
85 | 85 | | |||
86 | functions | 86 | functions | ||
87 | 87 | | |||
88 | <span style="color:#006e28;">></span> <span style="color:#0057ae;">FilePath</span>, <span style="color:#0057ae;">IOError</span>, <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>, | 88 | <span style="color:#006e28;">></span> <span style="color:#0057ae;">FilePath</span>, <span style="color:#0057ae;">IOError</span>, <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>, | ||
89 | <span style="color:#006e28;">></span> <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>, | 89 | <span style="color:#006e28;">></span> <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>, | ||
90 | <span style="color:#006e28;">></span> <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>, | 90 | <span style="color:#006e28;">></span> <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>, | ||
91 | <span style="color:#006e28;">></span> <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>, | 91 | <span style="color:#006e28;">></span> <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>, | ||
92 | <span style="color:#006e28;">></span> <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>, | 92 | <span style="color:#006e28;">></span> <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>, | ||
Show All 39 Lines |