hscolour-1.10: docs/hscolour/Language/Haskell/HsColour/CSS.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
<title>Language/Haskell/HsColour/CSS.hs</title>
</head>
<body>
<pre><a name="line-1"></a><font color=Blue>-- | Formats Haskell source code as HTML with CSS.</font>
<a name="line-2"></a><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>CSS <font color=Cyan>(</font>hscolour<font color=Cyan>)</font> <u><font color=Green>where</font></u>
<a name="line-3"></a>
<a name="line-4"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Anchors
<a name="line-5"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Classify <u><font color=Green>as</font></u> Classify
<a name="line-6"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>HTML <font color=Cyan>(</font>renderAnchors<font color=Cyan>,</font> renderComment<font color=Cyan>,</font>
<a name="line-7"></a> renderNewLinesAnchors<font color=Cyan>,</font> escape<font color=Cyan>)</font>
<a name="line-8"></a>
<a name="line-9"></a><a name="hscolour"></a><font color=Blue>-- | Formats Haskell source code as a complete HTML document with CSS.</font>
<a name="line-10"></a>hscolour <font color=Red>::</font> Bool <font color=Blue>-- ^ Whether to include anchors.</font>
<a name="line-11"></a> <font color=Red>-></font> Bool <font color=Blue>-- ^ Whether output should be partial</font>
<a name="line-12"></a> <font color=Blue>-- (= no stylesheet link will be included.)</font>
<a name="line-13"></a> <font color=Red>-></font> String <font color=Blue>-- ^ Title for HTML page.</font>
<a name="line-14"></a> <font color=Red>-></font> String <font color=Blue>-- ^ Haskell source code.</font>
<a name="line-15"></a> <font color=Red>-></font> String <font color=Blue>-- ^ An HTML document containing the coloured </font>
<a name="line-16"></a> <font color=Blue>-- Haskell source code.</font>
<a name="line-17"></a>hscolour anchor partial title <font color=Red>=</font>
<a name="line-18"></a> <font color=Cyan>(</font><u><font color=Green>if</font></u> partial <u><font color=Green>then</font></u> id <u><font color=Green>else</font></u> top'n'tail title<font color=Cyan>)</font>
<a name="line-19"></a> <font color=Cyan>.</font> pre
<a name="line-20"></a> <font color=Cyan>.</font> <font color=Cyan>(</font><u><font color=Green>if</font></u> anchor
<a name="line-21"></a> <u><font color=Green>then</font></u> renderNewLinesAnchors
<a name="line-22"></a> <font color=Cyan>.</font> concatMap <font color=Cyan>(</font>renderAnchors renderToken<font color=Cyan>)</font>
<a name="line-23"></a> <font color=Cyan>.</font> insertAnchors
<a name="line-24"></a> <u><font color=Green>else</font></u> concatMap renderToken<font color=Cyan>)</font>
<a name="line-25"></a> <font color=Cyan>.</font> tokenise
<a name="line-26"></a>
<a name="line-27"></a><a name="top'n'tail"></a>top'n'tail <font color=Red>::</font> String <font color=Red>-></font> String <font color=Red>-></font> String
<a name="line-28"></a>top'n'tail title <font color=Red>=</font> <font color=Cyan>(</font>cssPrefix title <font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font>cssSuffix<font color=Cyan>)</font>
<a name="line-29"></a>
<a name="line-30"></a><a name="pre"></a>pre <font color=Red>::</font> String <font color=Red>-></font> String
<a name="line-31"></a>pre <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"<pre>"</font><font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font><font color=Magenta>"</pre>"</font><font color=Cyan>)</font>
<a name="line-32"></a>
<a name="line-33"></a><a name="renderToken"></a>renderToken <font color=Red>::</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-></font> String
<a name="line-34"></a>renderToken <font color=Cyan>(</font>cls<font color=Cyan>,</font>text<font color=Cyan>)</font> <font color=Red>=</font>
<a name="line-35"></a> before <font color=Cyan>++</font> <font color=Cyan>(</font><u><font color=Green>if</font></u> cls <font color=Cyan>==</font> Comment <u><font color=Green>then</font></u> renderComment text <u><font color=Green>else</font></u> escape text<font color=Cyan>)</font> <font color=Cyan>++</font> after
<a name="line-36"></a> <u><font color=Green>where</font></u>
<a name="line-37"></a> before <font color=Red>=</font> <u><font color=Green>if</font></u> null cls2 <u><font color=Green>then</font></u> <font color=Magenta>""</font> <u><font color=Green>else</font></u> <font color=Magenta>"<span class='"</font> <font color=Cyan>++</font> cls2 <font color=Cyan>++</font> <font color=Magenta>"'>"</font>
<a name="line-38"></a> after <font color=Red>=</font> <u><font color=Green>if</font></u> null cls2 <u><font color=Green>then</font></u> <font color=Magenta>""</font> <u><font color=Green>else</font></u> <font color=Magenta>"</span>"</font>
<a name="line-39"></a> cls2 <font color=Red>=</font> cssClass cls
<a name="line-40"></a>
<a name="line-41"></a>
<a name="line-42"></a><a name="cssClass"></a>cssClass Keyword <font color=Red>=</font> <font color=Magenta>"keyword"</font>
<a name="line-43"></a>cssClass Keyglyph <font color=Red>=</font> <font color=Magenta>"keyglyph"</font>
<a name="line-44"></a>cssClass Layout <font color=Red>=</font> <font color=Magenta>"layout"</font>
<a name="line-45"></a>cssClass Comment <font color=Red>=</font> <font color=Magenta>"comment"</font>
<a name="line-46"></a>cssClass Conid <font color=Red>=</font> <font color=Magenta>"conid"</font>
<a name="line-47"></a>cssClass Varid <font color=Red>=</font> <font color=Magenta>"varid"</font>
<a name="line-48"></a>cssClass Conop <font color=Red>=</font> <font color=Magenta>"conop"</font>
<a name="line-49"></a>cssClass Varop <font color=Red>=</font> <font color=Magenta>"varop"</font>
<a name="line-50"></a>cssClass String <font color=Red>=</font> <font color=Magenta>"str"</font>
<a name="line-51"></a>cssClass Char <font color=Red>=</font> <font color=Magenta>"chr"</font>
<a name="line-52"></a>cssClass Number <font color=Red>=</font> <font color=Magenta>"num"</font>
<a name="line-53"></a>cssClass Cpp <font color=Red>=</font> <font color=Magenta>"cpp"</font>
<a name="line-54"></a>cssClass Error <font color=Red>=</font> <font color=Magenta>"sel"</font>
<a name="line-55"></a>cssClass Definition <font color=Red>=</font> <font color=Magenta>"definition"</font>
<a name="line-56"></a>cssClass <u><font color=Green>_</font></u> <font color=Red>=</font> <font color=Magenta>""</font>
<a name="line-57"></a>
<a name="line-58"></a>
<a name="line-59"></a><a name="cssPrefix"></a>cssPrefix title <font color=Red>=</font> unlines
<a name="line-60"></a> <font color=Red>[</font><font color=Magenta>"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"</font>
<a name="line-61"></a> <font color=Cyan>,</font><font color=Magenta>"<html>"</font>
<a name="line-62"></a> <font color=Cyan>,</font><font color=Magenta>"<head>"</font>
<a name="line-63"></a> <font color=Cyan>,</font><font color=Magenta>"<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->"</font>
<a name="line-64"></a> <font color=Cyan>,</font><font color=Magenta>"<title>"</font><font color=Cyan>++</font>title<font color=Cyan>++</font><font color=Magenta>"</title>"</font>
<a name="line-65"></a> <font color=Cyan>,</font><font color=Magenta>"<link type='text/css' rel='stylesheet' href='hscolour.css' />"</font>
<a name="line-66"></a> <font color=Cyan>,</font><font color=Magenta>"</head>"</font>
<a name="line-67"></a> <font color=Cyan>,</font><font color=Magenta>"<body>"</font>
<a name="line-68"></a> <font color=Red>]</font>
<a name="line-69"></a>
<a name="line-70"></a><a name="cssSuffix"></a>cssSuffix <font color=Red>=</font> unlines
<a name="line-71"></a> <font color=Red>[</font><font color=Magenta>"</body>"</font>
<a name="line-72"></a> <font color=Cyan>,</font><font color=Magenta>"</html>"</font>
<a name="line-73"></a> <font color=Red>]</font>
</pre>
</body>
</html>