packages feed

hscolour 1.14 → 1.15

raw patch · 20 files changed

+609/−489 lines, 20 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Language.Haskell.HsColour.CSS: top'n'tail :: String -> String -> String
+ Language.Haskell.HsColour.HTML: top'n'tail :: String -> String -> String
+ Language.Haskell.HsColour.InlineCSS: top'n'tail :: String -> String -> String
+ Language.Haskell.HsColour.LaTeX: top'n'tail :: String -> String -> String
- Language.Haskell.HsColour.CSS: hscolour :: Bool -> Bool -> String -> String -> String
+ Language.Haskell.HsColour.CSS: hscolour :: Bool -> String -> String
- Language.Haskell.HsColour.HTML: hscolour :: ColourPrefs -> Bool -> Bool -> String -> String -> String
+ Language.Haskell.HsColour.HTML: hscolour :: ColourPrefs -> Bool -> String -> String
- Language.Haskell.HsColour.InlineCSS: hscolour :: ColourPrefs -> Bool -> Bool -> String -> String -> String
+ Language.Haskell.HsColour.InlineCSS: hscolour :: ColourPrefs -> Bool -> String -> String
- Language.Haskell.HsColour.LaTeX: hscolour :: ColourPrefs -> Bool -> String -> String
+ Language.Haskell.HsColour.LaTeX: hscolour :: ColourPrefs -> String -> String

Files

HsColour.hs view
@@ -10,7 +10,7 @@ import List  (intersperse, isSuffixOf) import Debug.Trace -version = "1.14"+version = "1.15"  optionTable :: [(String,Option)] optionTable = [ ("help",    Help)
Language/Haskell/HsColour.hs view
@@ -38,27 +38,39 @@          -> String      -- ^ Haskell source code.          -> String      -- ^ Coloured Haskell source code. hscolour output pref anchor partial title False =-        hscolour' output pref anchor partial title+        (if partial then id else top'n'tail output title) .+        hscolour' output pref anchor hscolour output pref anchor partial title True  =+        (if partial then id else top'n'tail output title) .         concatMap chunk . joinL . classify . inlines   where-    chunk (Code c) = hscolour' output pref anchor True title c+    chunk (Code c) = hscolour' output pref anchor c     chunk (Lit c)  = c +-- | The actual colourising worker, despatched on the chosen output format. hscolour' :: Output      -- ^ Output format.           -> ColourPrefs -- ^ Colour preferences (for formats that support them)           -> Bool        -- ^ Whether to include anchors.-          -> Bool        -- ^ Whether output document is partial or complete.-          -> String      -- ^ Title for output.           -> String      -- ^ Haskell source code.           -> String      -- ^ Coloured Haskell source code.-hscolour' TTY   pref _    _       _   = TTY.hscolour   pref-hscolour' MIRC  pref _    _       _   = MIRC.hscolour  pref-hscolour' LaTeX pref _    partial _   = LaTeX.hscolour pref      partial-hscolour' HTML  pref anch partial top = HTML.hscolour  pref anch partial top-hscolour' CSS   _    anch partial top = CSS.hscolour        anch partial top-hscolour' ICSS  pref anch partial top = ICSS.hscolour  pref anch partial top+hscolour' TTY   pref _      = TTY.hscolour   pref+hscolour' MIRC  pref _      = MIRC.hscolour  pref+hscolour' LaTeX pref _      = LaTeX.hscolour pref+hscolour' HTML  pref anchor = HTML.hscolour  pref anchor+hscolour' CSS   _    anchor = CSS.hscolour        anchor+hscolour' ICSS  pref anchor = ICSS.hscolour  pref anchor +-- | Choose the right headers\/footers, depending on the output format.+top'n'tail :: Output           -- ^ Output format+           -> String           -- ^ Title for output+           -> (String->String) -- ^ Output transformer+top'n'tail TTY   _     = id+top'n'tail MIRC  _     = id+top'n'tail LaTeX title = LaTeX.top'n'tail title+top'n'tail HTML  title = HTML.top'n'tail title+top'n'tail CSS   title = CSS.top'n'tail  title+top'n'tail ICSS  title = ICSS.top'n'tail title+ -- | Separating literate files into code\/comment chunks. data Lit = Code {unL :: String} | Lit {unL :: String} deriving (Show) @@ -75,7 +87,7 @@   lines' (c:s)          acc = lines' s (acc . (c:))  --- The code for classify is largely stolen from Language.Preprocessor.Unlit.+-- | The code for classify is largely stolen from Language.Preprocessor.Unlit. classify []             = [] classify (x:xs) | "\\begin{code}"`isPrefixOf`x                         = Lit x: allProg xs@@ -87,7 +99,7 @@ classify (('>':x):xs)   = Code ('>':x) : classify xs classify (x:xs)         = Lit x: classify xs --- Join up chunks of code/comment that are next to each other.+-- | Join up chunks of code\/comment that are next to each other. joinL :: [Lit] -> [Lit] joinL []                  = [] joinL (Code c:Code c2:xs) = joinL (Code (c++c2):xs)
Language/Haskell/HsColour/CSS.hs view
@@ -1,5 +1,5 @@ -- | Formats Haskell source code as HTML with CSS.-module Language.Haskell.HsColour.CSS (hscolour) where+module Language.Haskell.HsColour.CSS (hscolour,top'n'tail) where  import Language.Haskell.HsColour.Anchors import Language.Haskell.HsColour.Classify as Classify@@ -8,15 +8,11 @@  -- | Formats Haskell source code as a complete HTML document with CSS. hscolour :: Bool   -- ^ Whether to include anchors.-         -> Bool   -- ^ Whether output should be partial-                   --   (= no stylesheet link will be included.)-         -> String -- ^ Title for HTML page.          -> String -- ^ Haskell source code.          -> String -- ^ An HTML document containing the coloured                     --   Haskell source code.-hscolour anchor partial title =-  (if partial then id else top'n'tail title)-  . pre+hscolour anchor =+  pre   . (if anchor          then renderNewLinesAnchors              . concatMap (renderAnchors renderToken)
Language/Haskell/HsColour/HTML.hs view
@@ -1,8 +1,10 @@ -- | Formats Haskell source code using HTML with font tags. module Language.Haskell.HsColour.HTML -    (hscolour, +    ( hscolour+    , top'n'tail      -- * Internals-     renderAnchors, renderComment, renderNewLinesAnchors, escape) where+    , renderAnchors, renderComment, renderNewLinesAnchors, escape+    ) where  import Language.Haskell.HsColour.Anchors import Language.Haskell.HsColour.Classify as Classify@@ -14,13 +16,10 @@ -- | Formats Haskell source code using HTML with font tags. hscolour :: ColourPrefs -- ^ Colour preferences.          -> Bool        -- ^ Whether to include anchors.-         -> Bool        -- ^ Whether output should be partial.-         -> String      -- ^ Title for webpage output.          -> String      -- ^ Haskell source code.          -> String      -- ^ Coloured Haskell source code.-hscolour pref anchor partial title = -    (if partial then id else top'n'tail title)-    . pre+hscolour pref anchor = +    pre     . (if anchor then renderNewLinesAnchors                       . concatMap (renderAnchors (renderToken pref))                       . insertAnchors
Language/Haskell/HsColour/InlineCSS.hs view
@@ -1,5 +1,5 @@ -- | Formats Haskell source code as HTML with inline CSS.-module Language.Haskell.HsColour.InlineCSS (hscolour) where+module Language.Haskell.HsColour.InlineCSS (hscolour,top'n'tail) where  import Language.Haskell.HsColour.Anchors import Language.Haskell.HsColour.Classify as Classify@@ -10,15 +10,11 @@ -- | Formats Haskell source code as a complete HTML document with inline styling hscolour :: ColourPrefs	-- ^ Preferences for styling.          -> Bool   -- ^ Whether to include anchors.-         -> Bool   -- ^ Whether output should be partial-                   --   (= no document headers will be included.)-         -> String -- ^ Title for HTML page.          -> String -- ^ Haskell source code.          -> String -- ^ An HTML document containing the coloured                     --   Haskell source code.-hscolour prefs anchor partial title =-  (if partial then id else top'n'tail title)-  . pre+hscolour prefs anchor =+  pre   . (if anchor          then renderNewLinesAnchors              . concatMap (renderAnchors (renderToken prefs))
Language/Haskell/HsColour/LaTeX.hs view
@@ -1,5 +1,5 @@ -- | Formats Haskell source code using LaTeX macros.-module Language.Haskell.HsColour.LaTeX (hscolour) where+module Language.Haskell.HsColour.LaTeX (hscolour, top'n'tail) where  import Language.Haskell.HsColour.Classify as Classify import Language.Haskell.HsColour.Colourise@@ -7,17 +7,13 @@  -- | Formats Haskell source code as a complete LaTeX document. hscolour :: ColourPrefs -- ^ Colour preferences.-         -> Bool        -- ^ Whether output should be partial (= no prologue).          -> String      -- ^ Haskell source code.          -> String      -- ^ A LaTeX document\/fragment containing the coloured                          --   Haskell source code.-hscolour pref partial =-  ( if partial then id else top'n'tail)-  . concatMap (renderToken pref)-  . tokenise+hscolour pref = concatMap (renderToken pref) . tokenise -top'n'tail :: String -> String-top'n'tail  = (latexPrefix++) . (++latexSuffix)+top'n'tail :: String -> String -> String+top'n'tail title = (latexPrefix title++) . (++latexSuffix)  -- | Wrap each lexeme in the appropriate LaTeX macro. --   TODO: filter dangerous characters like "{}_$"@@ -88,7 +84,7 @@ latexColour White   = "white"  -- | Generic LaTeX document preamble.-latexPrefix = unlines+latexPrefix title = unlines     ["\\documentclass[a4paper, 12pt]{article}"     ,"\\usepackage[usenames]{color}"     ,"\\usepackage{hyperref}"@@ -99,7 +95,10 @@     ,"\\newcommand{\\hsspace}{\\usebox{\\spaceb}}"     ,"\\newcommand{\\hstab}{\\usebox{\\tabb}}"     ,"\\newcommand{\\conceal}[1]{}"+    ,"\\title{"++title++"}"+    ,"%% Generated by HsColour"     ,"\\begin{document}"+    ,"\\maketitle"     ,"\\noindent"     ] 
Makefile view
@@ -1,5 +1,5 @@ LIBRARY	= hscolour-VERSION	= 1.14+VERSION	= 1.15  DIRS	= Language/Haskell/HsColour 
README view
@@ -30,15 +30,17 @@ classes).  This enables you to make links to a specific location in the generated file with the standard "file.html#anchor" notation. -If you want to embed several individually colourised fragments into a-larger document, then use the <tt>-partial</tt> option , to omit the-HTML DOCTYPE header, CSS stylesheet link, or LaTeX prologue.+If an input file is literate, that is, it has a suffix ".lhs" or ".ly"+or ".lx", then only the code fragments will be colourised, leaving the+commentary untouched.  You can explicitly override this+filename-guessing of literate status: use the -lit option to+force literate colouring, or -nolit to force all text to be+colourised.  (-lit-tex is an obsolete synonym for -lit) -Alternatively, if you have a literate input source (e.g. .lhs file),-then the -lit option passes the literate parts untouched,-and colourises only the code fragments as if each was called-individually with -partial.  The option -lit-tex is identical: it is-retained for backwards-compatibility only.+For more advanced usage, if you are building documents in parts, and you+want to embed several individually colourised fragments into a larger+document, use the <tt>-partial</tt> option with each fragment, to omit+the HTML DOCTYPE header, CSS stylesheet link, or LaTeX prologue.  You can configure the colours for different lexical entities by editing a configuration file called .hscolour in the current directory.
docs/hscolour/Language-Haskell-HsColour-CSS.html view
@@ -90,8 +90,18 @@ ><TD CLASS="decl" ><A HREF="#v%3Ahscolour" >hscolour</A-> :: Bool -&gt; Bool -&gt; String -&gt; String -&gt; String</TD+> :: Bool -&gt; String -&gt; String</TD ></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3Atop%27n%27tail"+>top'n'tail</A+> :: String -&gt; String -&gt; String</TD+></TR ></TABLE ></TD ></TR@@ -137,23 +147,8 @@ ></TR ><TR ><TD CLASS="arg"->-&gt; Bool</TD-><TD CLASS="rdoc"->Whether output should be partial-   (= no stylesheet link will be included.)-</TD-></TR-><TR-><TD CLASS="arg" >-&gt; String</TD ><TD CLASS="rdoc"->Title for HTML page.-</TD-></TR-><TR-><TD CLASS="arg"->-&gt; String</TD-><TD CLASS="rdoc" >Haskell source code. </TD ></TR@@ -169,6 +164,28 @@ ><TD CLASS="ndoc" COLSPAN="2" >Formats Haskell source code as a complete HTML document with CSS. </TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><A NAME="v%3Atop%27n%27tail"+></A+><B+>top'n'tail</B+> :: String -&gt; String -&gt; String</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/CSS.html#top%27n%27tail"+>Source</A+></TD ></TR ></TABLE ></TD
docs/hscolour/Language-Haskell-HsColour-HTML.html view
@@ -109,7 +109,7 @@ >hscolour</A > :: <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs" >ColourPrefs</A-> -&gt; Bool -&gt; Bool -&gt; String -&gt; String -&gt; String</TD+> -&gt; Bool -&gt; String -&gt; String</TD ></TR ><TR ><TD CLASS="s8"@@ -117,6 +117,16 @@ ></TR ><TR ><TD CLASS="decl"+><A HREF="#v%3Atop%27n%27tail"+>top'n'tail</A+> :: String -&gt; String -&gt; String</TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl" ><A HREF="#v%3ArenderAnchors" >renderAnchors</A > :: ((<A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"@@ -199,22 +209,8 @@ ></TR ><TR ><TD CLASS="arg"->-&gt; Bool</TD-><TD CLASS="rdoc"->Whether output should be partial.-</TD-></TR-><TR-><TD CLASS="arg" >-&gt; String</TD ><TD CLASS="rdoc"->Title for webpage output.-</TD-></TR-><TR-><TD CLASS="arg"->-&gt; String</TD-><TD CLASS="rdoc" >Haskell source code. </TD ></TR@@ -229,6 +225,28 @@ ><TD CLASS="ndoc" COLSPAN="2" >Formats Haskell source code using HTML with font tags. </TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><A NAME="v%3Atop%27n%27tail"+></A+><B+>top'n'tail</B+> :: String -&gt; String -&gt; String</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/HTML.html#top%27n%27tail"+>Source</A+></TD ></TR ></TABLE ></TD
docs/hscolour/Language-Haskell-HsColour-InlineCSS.html view
@@ -92,8 +92,18 @@ >hscolour</A > :: <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs" >ColourPrefs</A-> -&gt; Bool -&gt; Bool -&gt; String -&gt; String -&gt; String</TD+> -&gt; Bool -&gt; String -&gt; String</TD ></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3Atop%27n%27tail"+>top'n'tail</A+> :: String -&gt; String -&gt; String</TD+></TR ></TABLE ></TD ></TR@@ -148,23 +158,8 @@ ></TR ><TR ><TD CLASS="arg"->-&gt; Bool</TD-><TD CLASS="rdoc"->Whether output should be partial-   (= no document headers will be included.)-</TD-></TR-><TR-><TD CLASS="arg" >-&gt; String</TD ><TD CLASS="rdoc"->Title for HTML page.-</TD-></TR-><TR-><TD CLASS="arg"->-&gt; String</TD-><TD CLASS="rdoc" >Haskell source code. </TD ></TR@@ -180,6 +175,28 @@ ><TD CLASS="ndoc" COLSPAN="2" >Formats Haskell source code as a complete HTML document with inline styling </TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><A NAME="v%3Atop%27n%27tail"+></A+><B+>top'n'tail</B+> :: String -&gt; String -&gt; String</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/InlineCSS.html#top%27n%27tail"+>Source</A+></TD ></TR ></TABLE ></TD
docs/hscolour/Language-Haskell-HsColour-LaTeX.html view
@@ -92,8 +92,18 @@ >hscolour</A > :: <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs" >ColourPrefs</A-> -&gt; Bool -&gt; String -&gt; String</TD+> -&gt; String -&gt; String</TD ></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3Atop%27n%27tail"+>top'n'tail</A+> :: String -&gt; String -&gt; String</TD+></TR ></TABLE ></TD ></TR@@ -141,13 +151,6 @@ ></TR ><TR ><TD CLASS="arg"->-&gt; Bool</TD-><TD CLASS="rdoc"->Whether output should be partial (= no prologue).-</TD-></TR-><TR-><TD CLASS="arg" >-&gt; String</TD ><TD CLASS="rdoc" >Haskell source code.@@ -165,6 +168,28 @@ ><TD CLASS="ndoc" COLSPAN="2" >Formats Haskell source code as a complete LaTeX document. </TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><A NAME="v%3Atop%27n%27tail"+></A+><B+>top'n'tail</B+> :: String -&gt; String -&gt; String</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/LaTeX.html#top%27n%27tail"+>Source</A+></TD ></TR ></TABLE ></TD
docs/hscolour/Language/Haskell/HsColour.html view
@@ -45,62 +45,74 @@ <a name="line-38"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font> <a name="line-39"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Coloured Haskell source code.</font> <a name="line-40"></a>hscolour output pref anchor partial title False <font color=Red>=</font>-<a name="line-41"></a>        hscolour' output pref anchor partial title-<a name="line-42"></a>hscolour output pref anchor partial title True  <font color=Red>=</font>-<a name="line-43"></a>        concatMap chunk <font color=Cyan>.</font> joinL <font color=Cyan>.</font> classify <font color=Cyan>.</font> inlines-<a name="line-44"></a>  <u><font color=Green>where</font></u>-<a name="line-45"></a>    chunk <font color=Cyan>(</font>Code c<font color=Cyan>)</font> <font color=Red>=</font> hscolour' output pref anchor True title c-<a name="line-46"></a>    chunk <font color=Cyan>(</font>Lit c<font color=Cyan>)</font>  <font color=Red>=</font> c-<a name="line-47"></a>-<a name="line-48"></a><a name="hscolour'"></a>hscolour' <font color=Red>::</font> Output      <font color=Blue>-- ^ Output format.</font>-<a name="line-49"></a>          <font color=Red>-&gt;</font> ColourPrefs <font color=Blue>-- ^ Colour preferences (for formats that support them)</font>-<a name="line-50"></a>          <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether to include anchors.</font>-<a name="line-51"></a>          <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether output document is partial or complete.</font>-<a name="line-52"></a>          <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Title for output.</font>-<a name="line-53"></a>          <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font>-<a name="line-54"></a>          <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Coloured Haskell source code.</font>-<a name="line-55"></a>hscolour' TTY   pref <u><font color=Green>_</font></u>    <u><font color=Green>_</font></u>       <u><font color=Green>_</font></u>   <font color=Red>=</font> TTY<font color=Cyan>.</font>hscolour   pref-<a name="line-56"></a>hscolour' MIRC  pref <u><font color=Green>_</font></u>    <u><font color=Green>_</font></u>       <u><font color=Green>_</font></u>   <font color=Red>=</font> MIRC<font color=Cyan>.</font>hscolour  pref-<a name="line-57"></a>hscolour' LaTeX pref <u><font color=Green>_</font></u>    partial <u><font color=Green>_</font></u>   <font color=Red>=</font> LaTeX<font color=Cyan>.</font>hscolour pref      partial-<a name="line-58"></a>hscolour' HTML  pref anch partial top <font color=Red>=</font> HTML<font color=Cyan>.</font>hscolour  pref anch partial top-<a name="line-59"></a>hscolour' CSS   <u><font color=Green>_</font></u>    anch partial top <font color=Red>=</font> CSS<font color=Cyan>.</font>hscolour        anch partial top-<a name="line-60"></a>hscolour' ICSS  pref anch partial top <font color=Red>=</font> ICSS<font color=Cyan>.</font>hscolour  pref anch partial top-<a name="line-61"></a>-<a name="line-62"></a><a name="Lit"></a><font color=Blue>-- | Separating literate files into code\/comment chunks.</font>-<a name="line-63"></a><a name="Lit"></a><u><font color=Green>data</font></u> Lit <font color=Red>=</font> Code <font color=Cyan>{</font>unL <font color=Red>::</font> String<font color=Cyan>}</font> <font color=Red>|</font> Lit <font color=Cyan>{</font>unL <font color=Red>::</font> String<font color=Cyan>}</font> <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Show<font color=Cyan>)</font>-<a name="line-64"></a>-<a name="line-65"></a><a name="inlines"></a><font color=Blue>-- Re-implementation of 'lines', for better efficiency (but decreased laziness).</font>-<a name="line-66"></a><font color=Blue>-- Also, importantly, accepts non-standard DOS and Mac line ending characters.</font>-<a name="line-67"></a><font color=Blue>-- And retains the trailing '\n' character in each resultant string.</font>-<a name="line-68"></a>inlines <font color=Red>::</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font>-<a name="line-69"></a>inlines s <font color=Red>=</font> lines' s id-<a name="line-70"></a>  <u><font color=Green>where</font></u>-<a name="line-71"></a>  lines' []             acc <font color=Red>=</font> <font color=Red>[</font>acc []<font color=Red>]</font>-<a name="line-72"></a>  lines' <font color=Cyan>(</font><font color=Magenta>'\^M'</font><b><font color=Red>:</font></b><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font> acc <font color=Red>=</font> acc <font color=Red>[</font><font color=Magenta>'\n'</font><font color=Red>]</font> <b><font color=Red>:</font></b> lines' s id	<font color=Blue>-- DOS</font>-<a name="line-73"></a><font color=Blue>--lines' ('\^M':s)      acc = acc ['\n'] : lines' s id	-- MacOS</font>-<a name="line-74"></a>  lines' <font color=Cyan>(</font><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font>       acc <font color=Red>=</font> acc <font color=Red>[</font><font color=Magenta>'\n'</font><font color=Red>]</font> <b><font color=Red>:</font></b> lines' s id	<font color=Blue>-- Unix</font>-<a name="line-75"></a>  lines' <font color=Cyan>(</font>c<b><font color=Red>:</font></b>s<font color=Cyan>)</font>          acc <font color=Red>=</font> lines' s <font color=Cyan>(</font>acc <font color=Cyan>.</font> <font color=Cyan>(</font>c<b><font color=Red>:</font></b><font color=Cyan>)</font><font color=Cyan>)</font>+<a name="line-41"></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 output title<font color=Cyan>)</font> <font color=Cyan>.</font>+<a name="line-42"></a>        hscolour' output pref anchor+<a name="line-43"></a>hscolour output pref anchor partial title True  <font color=Red>=</font>+<a name="line-44"></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 output title<font color=Cyan>)</font> <font color=Cyan>.</font>+<a name="line-45"></a>        concatMap chunk <font color=Cyan>.</font> joinL <font color=Cyan>.</font> classify <font color=Cyan>.</font> inlines+<a name="line-46"></a>  <u><font color=Green>where</font></u>+<a name="line-47"></a>    chunk <font color=Cyan>(</font>Code c<font color=Cyan>)</font> <font color=Red>=</font> hscolour' output pref anchor c+<a name="line-48"></a>    chunk <font color=Cyan>(</font>Lit c<font color=Cyan>)</font>  <font color=Red>=</font> c+<a name="line-49"></a>+<a name="line-50"></a><a name="hscolour'"></a><font color=Blue>-- | The actual colourising worker, despatched on the chosen output format.</font>+<a name="line-51"></a>hscolour' <font color=Red>::</font> Output      <font color=Blue>-- ^ Output format.</font>+<a name="line-52"></a>          <font color=Red>-&gt;</font> ColourPrefs <font color=Blue>-- ^ Colour preferences (for formats that support them)</font>+<a name="line-53"></a>          <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether to include anchors.</font>+<a name="line-54"></a>          <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font>+<a name="line-55"></a>          <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Coloured Haskell source code.</font>+<a name="line-56"></a>hscolour' TTY   pref <u><font color=Green>_</font></u>      <font color=Red>=</font> TTY<font color=Cyan>.</font>hscolour   pref+<a name="line-57"></a>hscolour' MIRC  pref <u><font color=Green>_</font></u>      <font color=Red>=</font> MIRC<font color=Cyan>.</font>hscolour  pref+<a name="line-58"></a>hscolour' LaTeX pref <u><font color=Green>_</font></u>      <font color=Red>=</font> LaTeX<font color=Cyan>.</font>hscolour pref+<a name="line-59"></a>hscolour' HTML  pref anchor <font color=Red>=</font> HTML<font color=Cyan>.</font>hscolour  pref anchor+<a name="line-60"></a>hscolour' CSS   <u><font color=Green>_</font></u>    anchor <font color=Red>=</font> CSS<font color=Cyan>.</font>hscolour        anchor+<a name="line-61"></a>hscolour' ICSS  pref anchor <font color=Red>=</font> ICSS<font color=Cyan>.</font>hscolour  pref anchor+<a name="line-62"></a>+<a name="line-63"></a><a name="top'n'tail"></a><font color=Blue>-- | Choose the right headers\/footers, depending on the output format.</font>+<a name="line-64"></a>top'n'tail <font color=Red>::</font> Output           <font color=Blue>-- ^ Output format</font>+<a name="line-65"></a>           <font color=Red>-&gt;</font> String           <font color=Blue>-- ^ Title for output</font>+<a name="line-66"></a>           <font color=Red>-&gt;</font> <font color=Cyan>(</font>String<font color=Red>-&gt;</font>String<font color=Cyan>)</font> <font color=Blue>-- ^ Output transformer</font>+<a name="line-67"></a>top'n'tail TTY   <u><font color=Green>_</font></u>     <font color=Red>=</font> id+<a name="line-68"></a>top'n'tail MIRC  <u><font color=Green>_</font></u>     <font color=Red>=</font> id+<a name="line-69"></a>top'n'tail LaTeX title <font color=Red>=</font> LaTeX<font color=Cyan>.</font>top'n'tail title+<a name="line-70"></a>top'n'tail HTML  title <font color=Red>=</font> HTML<font color=Cyan>.</font>top'n'tail title+<a name="line-71"></a>top'n'tail CSS   title <font color=Red>=</font> CSS<font color=Cyan>.</font>top'n'tail  title+<a name="line-72"></a>top'n'tail ICSS  title <font color=Red>=</font> ICSS<font color=Cyan>.</font>top'n'tail title+<a name="line-73"></a>+<a name="line-74"></a><a name="Lit"></a><font color=Blue>-- | Separating literate files into code\/comment chunks.</font>+<a name="line-75"></a><a name="Lit"></a><u><font color=Green>data</font></u> Lit <font color=Red>=</font> Code <font color=Cyan>{</font>unL <font color=Red>::</font> String<font color=Cyan>}</font> <font color=Red>|</font> Lit <font color=Cyan>{</font>unL <font color=Red>::</font> String<font color=Cyan>}</font> <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Show<font color=Cyan>)</font> <a name="line-76"></a>-<a name="line-77"></a>-<a name="line-78"></a><a name="classify"></a><font color=Blue>-- The code for classify is largely stolen from Language.Preprocessor.Unlit.</font>-<a name="line-79"></a>classify []             <font color=Red>=</font> []-<a name="line-80"></a>classify <font color=Cyan>(</font>x<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>|</font> <font color=Magenta>"\\begin{code}"</font><font color=Cyan>`isPrefixOf`</font>x-<a name="line-81"></a>                        <font color=Red>=</font> Lit x<b><font color=Red>:</font></b> allProg xs-<a name="line-82"></a>   <u><font color=Green>where</font></u> allProg []     <font color=Red>=</font> []  <font color=Blue>-- Should give an error message,</font>-<a name="line-83"></a>                              <font color=Blue>-- but I have no good position information.</font>-<a name="line-84"></a>         allProg <font color=Cyan>(</font>x<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>|</font> <font color=Magenta>"\\end{code}"</font><font color=Cyan>`isPrefixOf`</font>x-<a name="line-85"></a>                        <font color=Red>=</font> Lit x<b><font color=Red>:</font></b> classify xs-<a name="line-86"></a>         allProg <font color=Cyan>(</font>x<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> Code x<b><font color=Red>:</font></b> allProg xs-<a name="line-87"></a>classify <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>x<font color=Cyan>)</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>   <font color=Red>=</font> Code <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>x<font color=Cyan>)</font> <b><font color=Red>:</font></b> classify xs-<a name="line-88"></a>classify <font color=Cyan>(</font>x<b><font color=Red>:</font></b>xs<font color=Cyan>)</font>         <font color=Red>=</font> Lit x<b><font color=Red>:</font></b> classify xs+<a name="line-77"></a><a name="inlines"></a><font color=Blue>-- Re-implementation of 'lines', for better efficiency (but decreased laziness).</font>+<a name="line-78"></a><font color=Blue>-- Also, importantly, accepts non-standard DOS and Mac line ending characters.</font>+<a name="line-79"></a><font color=Blue>-- And retains the trailing '\n' character in each resultant string.</font>+<a name="line-80"></a>inlines <font color=Red>::</font> String <font color=Red>-&gt;</font> <font color=Red>[</font>String<font color=Red>]</font>+<a name="line-81"></a>inlines s <font color=Red>=</font> lines' s id+<a name="line-82"></a>  <u><font color=Green>where</font></u>+<a name="line-83"></a>  lines' []             acc <font color=Red>=</font> <font color=Red>[</font>acc []<font color=Red>]</font>+<a name="line-84"></a>  lines' <font color=Cyan>(</font><font color=Magenta>'\^M'</font><b><font color=Red>:</font></b><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font> acc <font color=Red>=</font> acc <font color=Red>[</font><font color=Magenta>'\n'</font><font color=Red>]</font> <b><font color=Red>:</font></b> lines' s id	<font color=Blue>-- DOS</font>+<a name="line-85"></a><font color=Blue>--lines' ('\^M':s)      acc = acc ['\n'] : lines' s id	-- MacOS</font>+<a name="line-86"></a>  lines' <font color=Cyan>(</font><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font>       acc <font color=Red>=</font> acc <font color=Red>[</font><font color=Magenta>'\n'</font><font color=Red>]</font> <b><font color=Red>:</font></b> lines' s id	<font color=Blue>-- Unix</font>+<a name="line-87"></a>  lines' <font color=Cyan>(</font>c<b><font color=Red>:</font></b>s<font color=Cyan>)</font>          acc <font color=Red>=</font> lines' s <font color=Cyan>(</font>acc <font color=Cyan>.</font> <font color=Cyan>(</font>c<b><font color=Red>:</font></b><font color=Cyan>)</font><font color=Cyan>)</font>+<a name="line-88"></a> <a name="line-89"></a>-<a name="line-90"></a><a name="joinL"></a><font color=Blue>-- Join up chunks of code/comment that are next to each other.</font>-<a name="line-91"></a>joinL <font color=Red>::</font> <font color=Red>[</font>Lit<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font>Lit<font color=Red>]</font>-<a name="line-92"></a>joinL []                  <font color=Red>=</font> []-<a name="line-93"></a>joinL <font color=Cyan>(</font>Code c<b><font color=Red>:</font></b>Code c2<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> joinL <font color=Cyan>(</font>Code <font color=Cyan>(</font>c<font color=Cyan>++</font>c2<font color=Cyan>)</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>-<a name="line-94"></a>joinL <font color=Cyan>(</font>Lit c <b><font color=Red>:</font></b>Lit c2 <b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> joinL <font color=Cyan>(</font>Lit  <font color=Cyan>(</font>c<font color=Cyan>++</font>c2<font color=Cyan>)</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>-<a name="line-95"></a>joinL <font color=Cyan>(</font>any<b><font color=Red>:</font></b>xs<font color=Cyan>)</font>            <font color=Red>=</font> any<b><font color=Red>:</font></b> joinL xs-<a name="line-96"></a>+<a name="line-90"></a><a name="classify"></a><font color=Blue>-- | The code for classify is largely stolen from Language.Preprocessor.Unlit.</font>+<a name="line-91"></a>classify []             <font color=Red>=</font> []+<a name="line-92"></a>classify <font color=Cyan>(</font>x<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>|</font> <font color=Magenta>"\\begin{code}"</font><font color=Cyan>`isPrefixOf`</font>x+<a name="line-93"></a>                        <font color=Red>=</font> Lit x<b><font color=Red>:</font></b> allProg xs+<a name="line-94"></a>   <u><font color=Green>where</font></u> allProg []     <font color=Red>=</font> []  <font color=Blue>-- Should give an error message,</font>+<a name="line-95"></a>                              <font color=Blue>-- but I have no good position information.</font>+<a name="line-96"></a>         allProg <font color=Cyan>(</font>x<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>|</font> <font color=Magenta>"\\end{code}"</font><font color=Cyan>`isPrefixOf`</font>x+<a name="line-97"></a>                        <font color=Red>=</font> Lit x<b><font color=Red>:</font></b> classify xs+<a name="line-98"></a>         allProg <font color=Cyan>(</font>x<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> Code x<b><font color=Red>:</font></b> allProg xs+<a name="line-99"></a>classify <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>x<font color=Cyan>)</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>   <font color=Red>=</font> Code <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>x<font color=Cyan>)</font> <b><font color=Red>:</font></b> classify xs+<a name="line-100"></a>classify <font color=Cyan>(</font>x<b><font color=Red>:</font></b>xs<font color=Cyan>)</font>         <font color=Red>=</font> Lit x<b><font color=Red>:</font></b> classify xs+<a name="line-101"></a>+<a name="line-102"></a><a name="joinL"></a><font color=Blue>-- | Join up chunks of code\/comment that are next to each other.</font>+<a name="line-103"></a>joinL <font color=Red>::</font> <font color=Red>[</font>Lit<font color=Red>]</font> <font color=Red>-&gt;</font> <font color=Red>[</font>Lit<font color=Red>]</font>+<a name="line-104"></a>joinL []                  <font color=Red>=</font> []+<a name="line-105"></a>joinL <font color=Cyan>(</font>Code c<b><font color=Red>:</font></b>Code c2<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> joinL <font color=Cyan>(</font>Code <font color=Cyan>(</font>c<font color=Cyan>++</font>c2<font color=Cyan>)</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>+<a name="line-106"></a>joinL <font color=Cyan>(</font>Lit c <b><font color=Red>:</font></b>Lit c2 <b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> joinL <font color=Cyan>(</font>Lit  <font color=Cyan>(</font>c<font color=Cyan>++</font>c2<font color=Cyan>)</font><b><font color=Red>:</font></b>xs<font color=Cyan>)</font>+<a name="line-107"></a>joinL <font color=Cyan>(</font>any<b><font color=Red>:</font></b>xs<font color=Cyan>)</font>            <font color=Red>=</font> any<b><font color=Red>:</font></b> joinL xs+<a name="line-108"></a> </pre> </body> </html>
docs/hscolour/Language/Haskell/HsColour/CSS.html view
@@ -6,7 +6,7 @@ </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-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>top'n'tail<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@@ -15,69 +15,65 @@ <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>-&gt;</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>-&gt;</font> String <font color=Blue>-- ^ Title for HTML page.</font>-<a name="line-14"></a>         <font color=Red>-&gt;</font> String <font color=Blue>-- ^ Haskell source code.</font>-<a name="line-15"></a>         <font color=Red>-&gt;</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>-&gt;</font> String <font color=Red>-&gt;</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>-&gt;</font> String-<a name="line-31"></a>pre <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"&lt;pre&gt;"</font><font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font><font color=Magenta>"&lt;/pre&gt;"</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>-&gt;</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>"&lt;span class='"</font> <font color=Cyan>++</font> cls2 <font color=Cyan>++</font> <font color=Magenta>"'&gt;"</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>"&lt;/span&gt;"</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>"hs-keyword"</font>-<a name="line-43"></a>cssClass Keyglyph <font color=Red>=</font> <font color=Magenta>"hs-keyglyph"</font>-<a name="line-44"></a>cssClass Layout   <font color=Red>=</font> <font color=Magenta>"hs-layout"</font>-<a name="line-45"></a>cssClass Comment  <font color=Red>=</font> <font color=Magenta>"hs-comment"</font>-<a name="line-46"></a>cssClass Conid    <font color=Red>=</font> <font color=Magenta>"hs-conid"</font>-<a name="line-47"></a>cssClass Varid    <font color=Red>=</font> <font color=Magenta>"hs-varid"</font>-<a name="line-48"></a>cssClass Conop    <font color=Red>=</font> <font color=Magenta>"hs-conop"</font>-<a name="line-49"></a>cssClass Varop    <font color=Red>=</font> <font color=Magenta>"hs-varop"</font>-<a name="line-50"></a>cssClass String   <font color=Red>=</font> <font color=Magenta>"hs-str"</font>-<a name="line-51"></a>cssClass Char     <font color=Red>=</font> <font color=Magenta>"hs-chr"</font>-<a name="line-52"></a>cssClass Number   <font color=Red>=</font> <font color=Magenta>"hs-num"</font>-<a name="line-53"></a>cssClass Cpp      <font color=Red>=</font> <font color=Magenta>"hs-cpp"</font>-<a name="line-54"></a>cssClass Error    <font color=Red>=</font> <font color=Magenta>"hs-sel"</font>-<a name="line-55"></a>cssClass Definition <font color=Red>=</font> <font color=Magenta>"hs-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>"&lt;!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"&gt;"</font>-<a name="line-61"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;html&gt;"</font>-<a name="line-62"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;head&gt;"</font>-<a name="line-63"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ --&gt;"</font>-<a name="line-64"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;title&gt;"</font><font color=Cyan>++</font>title<font color=Cyan>++</font><font color=Magenta>"&lt;/title&gt;"</font>-<a name="line-65"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;link type='text/css' rel='stylesheet' href='hscolour.css' /&gt;"</font>-<a name="line-66"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;/head&gt;"</font>-<a name="line-67"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;body&gt;"</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>"&lt;/body&gt;"</font>-<a name="line-72"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;/html&gt;"</font>-<a name="line-73"></a>    <font color=Red>]</font>+<a name="line-11"></a>         <font color=Red>-&gt;</font> String <font color=Blue>-- ^ Haskell source code.</font>+<a name="line-12"></a>         <font color=Red>-&gt;</font> String <font color=Blue>-- ^ An HTML document containing the coloured </font>+<a name="line-13"></a>                   <font color=Blue>--   Haskell source code.</font>+<a name="line-14"></a>hscolour anchor <font color=Red>=</font>+<a name="line-15"></a>  pre+<a name="line-16"></a>  <font color=Cyan>.</font> <font color=Cyan>(</font><u><font color=Green>if</font></u> anchor +<a name="line-17"></a>        <u><font color=Green>then</font></u> renderNewLinesAnchors+<a name="line-18"></a>             <font color=Cyan>.</font> concatMap <font color=Cyan>(</font>renderAnchors renderToken<font color=Cyan>)</font>+<a name="line-19"></a>             <font color=Cyan>.</font> insertAnchors+<a name="line-20"></a>        <u><font color=Green>else</font></u> concatMap renderToken<font color=Cyan>)</font>+<a name="line-21"></a>  <font color=Cyan>.</font> tokenise+<a name="line-22"></a>+<a name="line-23"></a><a name="top'n'tail"></a>top'n'tail <font color=Red>::</font> String <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String+<a name="line-24"></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-25"></a>+<a name="line-26"></a><a name="pre"></a>pre <font color=Red>::</font> String <font color=Red>-&gt;</font> String+<a name="line-27"></a>pre <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"&lt;pre&gt;"</font><font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font><font color=Magenta>"&lt;/pre&gt;"</font><font color=Cyan>)</font>+<a name="line-28"></a>+<a name="line-29"></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>-&gt;</font> String+<a name="line-30"></a>renderToken <font color=Cyan>(</font>cls<font color=Cyan>,</font>text<font color=Cyan>)</font> <font color=Red>=</font>+<a name="line-31"></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-32"></a>    <u><font color=Green>where</font></u>+<a name="line-33"></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>"&lt;span class='"</font> <font color=Cyan>++</font> cls2 <font color=Cyan>++</font> <font color=Magenta>"'&gt;"</font>+<a name="line-34"></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>"&lt;/span&gt;"</font>+<a name="line-35"></a>        cls2 <font color=Red>=</font> cssClass cls+<a name="line-36"></a>+<a name="line-37"></a>+<a name="line-38"></a><a name="cssClass"></a>cssClass Keyword  <font color=Red>=</font> <font color=Magenta>"hs-keyword"</font>+<a name="line-39"></a>cssClass Keyglyph <font color=Red>=</font> <font color=Magenta>"hs-keyglyph"</font>+<a name="line-40"></a>cssClass Layout   <font color=Red>=</font> <font color=Magenta>"hs-layout"</font>+<a name="line-41"></a>cssClass Comment  <font color=Red>=</font> <font color=Magenta>"hs-comment"</font>+<a name="line-42"></a>cssClass Conid    <font color=Red>=</font> <font color=Magenta>"hs-conid"</font>+<a name="line-43"></a>cssClass Varid    <font color=Red>=</font> <font color=Magenta>"hs-varid"</font>+<a name="line-44"></a>cssClass Conop    <font color=Red>=</font> <font color=Magenta>"hs-conop"</font>+<a name="line-45"></a>cssClass Varop    <font color=Red>=</font> <font color=Magenta>"hs-varop"</font>+<a name="line-46"></a>cssClass String   <font color=Red>=</font> <font color=Magenta>"hs-str"</font>+<a name="line-47"></a>cssClass Char     <font color=Red>=</font> <font color=Magenta>"hs-chr"</font>+<a name="line-48"></a>cssClass Number   <font color=Red>=</font> <font color=Magenta>"hs-num"</font>+<a name="line-49"></a>cssClass Cpp      <font color=Red>=</font> <font color=Magenta>"hs-cpp"</font>+<a name="line-50"></a>cssClass Error    <font color=Red>=</font> <font color=Magenta>"hs-sel"</font>+<a name="line-51"></a>cssClass Definition <font color=Red>=</font> <font color=Magenta>"hs-definition"</font>+<a name="line-52"></a>cssClass <u><font color=Green>_</font></u>        <font color=Red>=</font> <font color=Magenta>""</font>+<a name="line-53"></a>+<a name="line-54"></a>+<a name="line-55"></a><a name="cssPrefix"></a>cssPrefix title <font color=Red>=</font> unlines+<a name="line-56"></a>    <font color=Red>[</font><font color=Magenta>"&lt;!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"&gt;"</font>+<a name="line-57"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;html&gt;"</font>+<a name="line-58"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;head&gt;"</font>+<a name="line-59"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ --&gt;"</font>+<a name="line-60"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;title&gt;"</font><font color=Cyan>++</font>title<font color=Cyan>++</font><font color=Magenta>"&lt;/title&gt;"</font>+<a name="line-61"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;link type='text/css' rel='stylesheet' href='hscolour.css' /&gt;"</font>+<a name="line-62"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;/head&gt;"</font>+<a name="line-63"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;body&gt;"</font>+<a name="line-64"></a>    <font color=Red>]</font>+<a name="line-65"></a>    +<a name="line-66"></a><a name="cssSuffix"></a>cssSuffix <font color=Red>=</font> unlines+<a name="line-67"></a>    <font color=Red>[</font><font color=Magenta>"&lt;/body&gt;"</font>+<a name="line-68"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;/html&gt;"</font>+<a name="line-69"></a>    <font color=Red>]</font> </pre> </body> </html>
docs/hscolour/Language/Haskell/HsColour/HTML.html view
@@ -7,97 +7,96 @@ <body> <pre><a name="line-1"></a><font color=Blue>-- | Formats Haskell source code using HTML with font tags.</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>HTML -<a name="line-3"></a>    <font color=Cyan>(</font>hscolour<font color=Cyan>,</font> -<a name="line-4"></a>     <font color=Blue>-- * Internals</font>-<a name="line-5"></a>     renderAnchors<font color=Cyan>,</font> renderComment<font color=Cyan>,</font> renderNewLinesAnchors<font color=Cyan>,</font> escape<font color=Cyan>)</font> <u><font color=Green>where</font></u>-<a name="line-6"></a>-<a name="line-7"></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-8"></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-9"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Colourise-<a name="line-10"></a>-<a name="line-11"></a><u><font color=Green>import</font></u> Data<font color=Cyan>.</font>Char<font color=Cyan>(</font>isAlphaNum<font color=Cyan>)</font>+<a name="line-3"></a>    <font color=Cyan>(</font> hscolour+<a name="line-4"></a>    <font color=Cyan>,</font> top'n'tail+<a name="line-5"></a>     <font color=Blue>-- * Internals</font>+<a name="line-6"></a>    <font color=Cyan>,</font> renderAnchors<font color=Cyan>,</font> renderComment<font color=Cyan>,</font> renderNewLinesAnchors<font color=Cyan>,</font> escape+<a name="line-7"></a>    <font color=Cyan>)</font> <u><font color=Green>where</font></u>+<a name="line-8"></a>+<a name="line-9"></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-10"></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-11"></a><u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Colourise <a name="line-12"></a>-<a name="line-13"></a>-<a name="line-14"></a><a name="hscolour"></a><font color=Blue>-- | Formats Haskell source code using HTML with font tags.</font>-<a name="line-15"></a>hscolour <font color=Red>::</font> ColourPrefs <font color=Blue>-- ^ Colour preferences.</font>-<a name="line-16"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether to include anchors.</font>-<a name="line-17"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether output should be partial.</font>-<a name="line-18"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Title for webpage output.</font>+<a name="line-13"></a><u><font color=Green>import</font></u> Data<font color=Cyan>.</font>Char<font color=Cyan>(</font>isAlphaNum<font color=Cyan>)</font>+<a name="line-14"></a>+<a name="line-15"></a>+<a name="line-16"></a><a name="hscolour"></a><font color=Blue>-- | Formats Haskell source code using HTML with font tags.</font>+<a name="line-17"></a>hscolour <font color=Red>::</font> ColourPrefs <font color=Blue>-- ^ Colour preferences.</font>+<a name="line-18"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether to include anchors.</font> <a name="line-19"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font> <a name="line-20"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Coloured Haskell source code.</font>-<a name="line-21"></a>hscolour pref anchor partial title <font color=Red>=</font> -<a name="line-22"></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-23"></a>    <font color=Cyan>.</font> pre-<a name="line-24"></a>    <font color=Cyan>.</font> <font color=Cyan>(</font><u><font color=Green>if</font></u> anchor <u><font color=Green>then</font></u> renderNewLinesAnchors-<a name="line-25"></a>                      <font color=Cyan>.</font> concatMap <font color=Cyan>(</font>renderAnchors <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font><font color=Cyan>)</font>-<a name="line-26"></a>                      <font color=Cyan>.</font> insertAnchors-<a name="line-27"></a>                 <u><font color=Green>else</font></u> concatMap <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font><font color=Cyan>)</font>-<a name="line-28"></a>    <font color=Cyan>.</font> tokenise-<a name="line-29"></a>-<a name="line-30"></a><a name="top'n'tail"></a>top'n'tail <font color=Red>::</font> String <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String-<a name="line-31"></a>top'n'tail title <font color=Red>=</font> <font color=Cyan>(</font>htmlHeader title <font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font>htmlClose<font color=Cyan>)</font>-<a name="line-32"></a>-<a name="line-33"></a><a name="pre"></a>pre <font color=Red>::</font> String <font color=Red>-&gt;</font> String-<a name="line-34"></a>pre <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"&lt;pre&gt;"</font><font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font><font color=Magenta>"&lt;/pre&gt;"</font><font color=Cyan>)</font>-<a name="line-35"></a>-<a name="line-36"></a><a name="renderToken"></a>renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-&gt;</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String-<a name="line-37"></a>renderToken pref <font color=Cyan>(</font>t<font color=Cyan>,</font>s<font color=Cyan>)</font> <font color=Red>=</font> fontify <font color=Cyan>(</font>colourise pref t<font color=Cyan>)</font>-<a name="line-38"></a>                         <font color=Cyan>(</font><u><font color=Green>if</font></u> t <font color=Cyan>==</font> Comment <u><font color=Green>then</font></u> renderComment s <u><font color=Green>else</font></u> escape s<font color=Cyan>)</font>-<a name="line-39"></a>-<a name="line-40"></a><a name="renderAnchors"></a>renderAnchors <font color=Red>::</font> <font color=Cyan>(</font><font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>-&gt;</font>String<font color=Cyan>)</font>-<a name="line-41"></a>                 <font color=Red>-&gt;</font> Either String <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String-<a name="line-42"></a>renderAnchors <u><font color=Green>_</font></u>      <font color=Cyan>(</font>Left v<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&lt;a name=\""</font><font color=Cyan>++</font>v<font color=Cyan>++</font><font color=Magenta>"\"&gt;&lt;/a&gt;"</font>-<a name="line-43"></a>renderAnchors render <font color=Cyan>(</font>Right r<font color=Cyan>)</font> <font color=Red>=</font> render r-<a name="line-44"></a>-<a name="line-45"></a><a name="renderComment"></a><font color=Blue>-- if there are <a href="http://links/">http://links/</a> in a comment, turn them into</font>-<a name="line-46"></a><font color=Blue>-- hyperlinks</font>-<a name="line-47"></a>renderComment <font color=Red>::</font> String <font color=Red>-&gt;</font> String-<a name="line-48"></a>renderComment xs<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'h'</font><b><font color=Red>:</font></b><font color=Magenta>'t'</font><b><font color=Red>:</font></b><font color=Magenta>'t'</font><b><font color=Red>:</font></b><font color=Magenta>'p'</font><b><font color=Red>:</font></b><font color=Magenta>':'</font><b><font color=Red>:</font></b><font color=Magenta>'/'</font><b><font color=Red>:</font></b><font color=Magenta>'/'</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>=</font>-<a name="line-49"></a>        renderLink a <font color=Cyan>++</font> renderComment b-<a name="line-50"></a>    <u><font color=Green>where</font></u>-<a name="line-51"></a>        <font color=Blue>-- see <a href="http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#characters">http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#characters</a></font>-<a name="line-52"></a>        isUrlChar x <font color=Red>=</font> isAlphaNum x <font color=Cyan>||</font> x <font color=Cyan>`elem`</font> <font color=Magenta>":/?#[]@!$&amp;'()*+,;=-._~%"</font>-<a name="line-53"></a>        <font color=Cyan>(</font>a<font color=Cyan>,</font>b<font color=Cyan>)</font> <font color=Red>=</font> span isUrlChar xs-<a name="line-54"></a>        renderLink link <font color=Red>=</font> <font color=Magenta>"&lt;a href=\""</font> <font color=Cyan>++</font> link <font color=Cyan>++</font> <font color=Magenta>"\"&gt;"</font> <font color=Cyan>++</font> escape link <font color=Cyan>++</font> <font color=Magenta>"&lt;/a&gt;"</font>-<a name="line-55"></a>        -<a name="line-56"></a>renderComment <font color=Cyan>(</font>x<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> escape <font color=Red>[</font>x<font color=Red>]</font> <font color=Cyan>++</font> renderComment xs-<a name="line-57"></a>renderComment [] <font color=Red>=</font> []-<a name="line-58"></a>-<a name="line-59"></a><a name="renderNewLinesAnchors"></a>renderNewLinesAnchors <font color=Red>::</font> String <font color=Red>-&gt;</font> String-<a name="line-60"></a>renderNewLinesAnchors <font color=Red>=</font> unlines <font color=Cyan>.</font> map render <font color=Cyan>.</font> zip <font color=Red>[</font><font color=Magenta>1</font><font color=Red>..</font><font color=Red>]</font> <font color=Cyan>.</font> lines-<a name="line-61"></a>    <u><font color=Green>where</font></u> render <font color=Cyan>(</font>line<font color=Cyan>,</font> s<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&lt;a name=\"line-"</font> <font color=Cyan>++</font> show line <font color=Cyan>++</font> <font color=Magenta>"\"&gt;&lt;/a&gt;"</font> <font color=Cyan>++</font> s-<a name="line-62"></a>-<a name="line-63"></a><a name="fontify"></a><font color=Blue>-- Html stuff</font>-<a name="line-64"></a>fontify [] s     <font color=Red>=</font> s-<a name="line-65"></a>fontify <font color=Cyan>(</font>h<b><font color=Red>:</font></b>hs<font color=Cyan>)</font> s <font color=Red>=</font> font h <font color=Cyan>(</font>fontify hs s<font color=Cyan>)</font>-<a name="line-66"></a>-<a name="line-67"></a><a name="font"></a>font Normal         s <font color=Red>=</font> s-<a name="line-68"></a>font Bold           s <font color=Red>=</font> <font color=Magenta>"&lt;b&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/b&gt;"</font>-<a name="line-69"></a>font Dim            s <font color=Red>=</font> <font color=Magenta>"&lt;em&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/em&gt;"</font>-<a name="line-70"></a>font Underscore     s <font color=Red>=</font> <font color=Magenta>"&lt;u&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/u&gt;"</font>-<a name="line-71"></a>font Blink          s <font color=Red>=</font> <font color=Magenta>"&lt;blink&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/blink&gt;"</font>-<a name="line-72"></a>font ReverseVideo   s <font color=Red>=</font> s-<a name="line-73"></a>font Concealed      s <font color=Red>=</font> s-<a name="line-74"></a>font <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> s <font color=Red>=</font> <font color=Magenta>"&lt;font color="</font><font color=Cyan>++</font>show c<font color=Cyan>++</font><font color=Magenta>"&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/font&gt;"</font>-<a name="line-75"></a>font <font color=Cyan>(</font>Background c<font color=Cyan>)</font> s <font color=Red>=</font> <font color=Magenta>"&lt;font bgcolor="</font><font color=Cyan>++</font>show c<font color=Cyan>++</font><font color=Magenta>"&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/font&gt;"</font>-<a name="line-76"></a>font Italic         s <font color=Red>=</font> <font color=Magenta>"&lt;i&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/i&gt;"</font>-<a name="line-77"></a>-<a name="line-78"></a><a name="escape"></a>escape <font color=Cyan>(</font><font color=Magenta>'&lt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;lt;"</font><font color=Cyan>++</font>escape cs-<a name="line-79"></a>escape <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;gt;"</font><font color=Cyan>++</font>escape cs-<a name="line-80"></a>escape <font color=Cyan>(</font><font color=Magenta>'&amp;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;amp;"</font><font color=Cyan>++</font>escape cs-<a name="line-81"></a>escape <font color=Cyan>(</font>c<b><font color=Red>:</font></b>cs<font color=Cyan>)</font>   <font color=Red>=</font> c<b><font color=Red>:</font></b> escape cs-<a name="line-82"></a>escape []       <font color=Red>=</font> []-<a name="line-83"></a>-<a name="line-84"></a><a name="htmlHeader"></a>htmlHeader title <font color=Red>=</font> unlines-<a name="line-85"></a>  <font color=Red>[</font> <font color=Magenta>"&lt;!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\"&gt;"</font>-<a name="line-86"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;html&gt;"</font>-<a name="line-87"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;head&gt;"</font>-<a name="line-88"></a>  <font color=Cyan>,</font><font color=Magenta>"&lt;!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ --&gt;"</font>-<a name="line-89"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;title&gt;"</font><font color=Cyan>++</font>title<font color=Cyan>++</font><font color=Magenta>"&lt;/title&gt;"</font>-<a name="line-90"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;/head&gt;"</font>-<a name="line-91"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;body&gt;"</font>-<a name="line-92"></a>  <font color=Red>]</font>-<a name="line-93"></a><a name="htmlClose"></a>htmlClose  <font color=Red>=</font> <font color=Magenta>"\n&lt;/body&gt;\n&lt;/html&gt;"</font>+<a name="line-21"></a>hscolour pref anchor <font color=Red>=</font> +<a name="line-22"></a>    pre+<a name="line-23"></a>    <font color=Cyan>.</font> <font color=Cyan>(</font><u><font color=Green>if</font></u> anchor <u><font color=Green>then</font></u> renderNewLinesAnchors+<a name="line-24"></a>                      <font color=Cyan>.</font> concatMap <font color=Cyan>(</font>renderAnchors <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font><font color=Cyan>)</font>+<a name="line-25"></a>                      <font color=Cyan>.</font> insertAnchors+<a name="line-26"></a>                 <u><font color=Green>else</font></u> concatMap <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font><font color=Cyan>)</font>+<a name="line-27"></a>    <font color=Cyan>.</font> tokenise+<a name="line-28"></a>+<a name="line-29"></a><a name="top'n'tail"></a>top'n'tail <font color=Red>::</font> String <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String+<a name="line-30"></a>top'n'tail title <font color=Red>=</font> <font color=Cyan>(</font>htmlHeader title <font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font>htmlClose<font color=Cyan>)</font>+<a name="line-31"></a>+<a name="line-32"></a><a name="pre"></a>pre <font color=Red>::</font> String <font color=Red>-&gt;</font> String+<a name="line-33"></a>pre <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"&lt;pre&gt;"</font><font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font><font color=Magenta>"&lt;/pre&gt;"</font><font color=Cyan>)</font>+<a name="line-34"></a>+<a name="line-35"></a><a name="renderToken"></a>renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-&gt;</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String+<a name="line-36"></a>renderToken pref <font color=Cyan>(</font>t<font color=Cyan>,</font>s<font color=Cyan>)</font> <font color=Red>=</font> fontify <font color=Cyan>(</font>colourise pref t<font color=Cyan>)</font>+<a name="line-37"></a>                         <font color=Cyan>(</font><u><font color=Green>if</font></u> t <font color=Cyan>==</font> Comment <u><font color=Green>then</font></u> renderComment s <u><font color=Green>else</font></u> escape s<font color=Cyan>)</font>+<a name="line-38"></a>+<a name="line-39"></a><a name="renderAnchors"></a>renderAnchors <font color=Red>::</font> <font color=Cyan>(</font><font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>-&gt;</font>String<font color=Cyan>)</font>+<a name="line-40"></a>                 <font color=Red>-&gt;</font> Either String <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String+<a name="line-41"></a>renderAnchors <u><font color=Green>_</font></u>      <font color=Cyan>(</font>Left v<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&lt;a name=\""</font><font color=Cyan>++</font>v<font color=Cyan>++</font><font color=Magenta>"\"&gt;&lt;/a&gt;"</font>+<a name="line-42"></a>renderAnchors render <font color=Cyan>(</font>Right r<font color=Cyan>)</font> <font color=Red>=</font> render r+<a name="line-43"></a>+<a name="line-44"></a><a name="renderComment"></a><font color=Blue>-- if there are <a href="http://links/">http://links/</a> in a comment, turn them into</font>+<a name="line-45"></a><font color=Blue>-- hyperlinks</font>+<a name="line-46"></a>renderComment <font color=Red>::</font> String <font color=Red>-&gt;</font> String+<a name="line-47"></a>renderComment xs<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'h'</font><b><font color=Red>:</font></b><font color=Magenta>'t'</font><b><font color=Red>:</font></b><font color=Magenta>'t'</font><b><font color=Red>:</font></b><font color=Magenta>'p'</font><b><font color=Red>:</font></b><font color=Magenta>':'</font><b><font color=Red>:</font></b><font color=Magenta>'/'</font><b><font color=Red>:</font></b><font color=Magenta>'/'</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>=</font>+<a name="line-48"></a>        renderLink a <font color=Cyan>++</font> renderComment b+<a name="line-49"></a>    <u><font color=Green>where</font></u>+<a name="line-50"></a>        <font color=Blue>-- see <a href="http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#characters">http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#characters</a></font>+<a name="line-51"></a>        isUrlChar x <font color=Red>=</font> isAlphaNum x <font color=Cyan>||</font> x <font color=Cyan>`elem`</font> <font color=Magenta>":/?#[]@!$&amp;'()*+,;=-._~%"</font>+<a name="line-52"></a>        <font color=Cyan>(</font>a<font color=Cyan>,</font>b<font color=Cyan>)</font> <font color=Red>=</font> span isUrlChar xs+<a name="line-53"></a>        renderLink link <font color=Red>=</font> <font color=Magenta>"&lt;a href=\""</font> <font color=Cyan>++</font> link <font color=Cyan>++</font> <font color=Magenta>"\"&gt;"</font> <font color=Cyan>++</font> escape link <font color=Cyan>++</font> <font color=Magenta>"&lt;/a&gt;"</font>+<a name="line-54"></a>        +<a name="line-55"></a>renderComment <font color=Cyan>(</font>x<b><font color=Red>:</font></b>xs<font color=Cyan>)</font> <font color=Red>=</font> escape <font color=Red>[</font>x<font color=Red>]</font> <font color=Cyan>++</font> renderComment xs+<a name="line-56"></a>renderComment [] <font color=Red>=</font> []+<a name="line-57"></a>+<a name="line-58"></a><a name="renderNewLinesAnchors"></a>renderNewLinesAnchors <font color=Red>::</font> String <font color=Red>-&gt;</font> String+<a name="line-59"></a>renderNewLinesAnchors <font color=Red>=</font> unlines <font color=Cyan>.</font> map render <font color=Cyan>.</font> zip <font color=Red>[</font><font color=Magenta>1</font><font color=Red>..</font><font color=Red>]</font> <font color=Cyan>.</font> lines+<a name="line-60"></a>    <u><font color=Green>where</font></u> render <font color=Cyan>(</font>line<font color=Cyan>,</font> s<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&lt;a name=\"line-"</font> <font color=Cyan>++</font> show line <font color=Cyan>++</font> <font color=Magenta>"\"&gt;&lt;/a&gt;"</font> <font color=Cyan>++</font> s+<a name="line-61"></a>+<a name="line-62"></a><a name="fontify"></a><font color=Blue>-- Html stuff</font>+<a name="line-63"></a>fontify [] s     <font color=Red>=</font> s+<a name="line-64"></a>fontify <font color=Cyan>(</font>h<b><font color=Red>:</font></b>hs<font color=Cyan>)</font> s <font color=Red>=</font> font h <font color=Cyan>(</font>fontify hs s<font color=Cyan>)</font>+<a name="line-65"></a>+<a name="line-66"></a><a name="font"></a>font Normal         s <font color=Red>=</font> s+<a name="line-67"></a>font Bold           s <font color=Red>=</font> <font color=Magenta>"&lt;b&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/b&gt;"</font>+<a name="line-68"></a>font Dim            s <font color=Red>=</font> <font color=Magenta>"&lt;em&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/em&gt;"</font>+<a name="line-69"></a>font Underscore     s <font color=Red>=</font> <font color=Magenta>"&lt;u&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/u&gt;"</font>+<a name="line-70"></a>font Blink          s <font color=Red>=</font> <font color=Magenta>"&lt;blink&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/blink&gt;"</font>+<a name="line-71"></a>font ReverseVideo   s <font color=Red>=</font> s+<a name="line-72"></a>font Concealed      s <font color=Red>=</font> s+<a name="line-73"></a>font <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> s <font color=Red>=</font> <font color=Magenta>"&lt;font color="</font><font color=Cyan>++</font>show c<font color=Cyan>++</font><font color=Magenta>"&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/font&gt;"</font>+<a name="line-74"></a>font <font color=Cyan>(</font>Background c<font color=Cyan>)</font> s <font color=Red>=</font> <font color=Magenta>"&lt;font bgcolor="</font><font color=Cyan>++</font>show c<font color=Cyan>++</font><font color=Magenta>"&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/font&gt;"</font>+<a name="line-75"></a>font Italic         s <font color=Red>=</font> <font color=Magenta>"&lt;i&gt;"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"&lt;/i&gt;"</font>+<a name="line-76"></a>+<a name="line-77"></a><a name="escape"></a>escape <font color=Cyan>(</font><font color=Magenta>'&lt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;lt;"</font><font color=Cyan>++</font>escape cs+<a name="line-78"></a>escape <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;gt;"</font><font color=Cyan>++</font>escape cs+<a name="line-79"></a>escape <font color=Cyan>(</font><font color=Magenta>'&amp;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"&amp;amp;"</font><font color=Cyan>++</font>escape cs+<a name="line-80"></a>escape <font color=Cyan>(</font>c<b><font color=Red>:</font></b>cs<font color=Cyan>)</font>   <font color=Red>=</font> c<b><font color=Red>:</font></b> escape cs+<a name="line-81"></a>escape []       <font color=Red>=</font> []+<a name="line-82"></a>+<a name="line-83"></a><a name="htmlHeader"></a>htmlHeader title <font color=Red>=</font> unlines+<a name="line-84"></a>  <font color=Red>[</font> <font color=Magenta>"&lt;!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\"&gt;"</font>+<a name="line-85"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;html&gt;"</font>+<a name="line-86"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;head&gt;"</font>+<a name="line-87"></a>  <font color=Cyan>,</font><font color=Magenta>"&lt;!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ --&gt;"</font>+<a name="line-88"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;title&gt;"</font><font color=Cyan>++</font>title<font color=Cyan>++</font><font color=Magenta>"&lt;/title&gt;"</font>+<a name="line-89"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;/head&gt;"</font>+<a name="line-90"></a>  <font color=Cyan>,</font> <font color=Magenta>"&lt;body&gt;"</font>+<a name="line-91"></a>  <font color=Red>]</font>+<a name="line-92"></a><a name="htmlClose"></a>htmlClose  <font color=Red>=</font> <font color=Magenta>"\n&lt;/body&gt;\n&lt;/html&gt;"</font> </pre> </body> </html>
docs/hscolour/Language/Haskell/HsColour/InlineCSS.html view
@@ -6,7 +6,7 @@ </head> <body> <pre><a name="line-1"></a><font color=Blue>-- | Formats Haskell source code as HTML with inline 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>InlineCSS <font color=Cyan>(</font>hscolour<font color=Cyan>)</font> <u><font color=Green>where</font></u>+<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>InlineCSS <font color=Cyan>(</font>hscolour<font color=Cyan>,</font>top'n'tail<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@@ -17,74 +17,70 @@ <a name="line-10"></a><a name="hscolour"></a><font color=Blue>-- | Formats Haskell source code as a complete HTML document with inline styling</font> <a name="line-11"></a>hscolour <font color=Red>::</font> ColourPrefs	<font color=Blue>-- ^ Preferences for styling.</font> <a name="line-12"></a>         <font color=Red>-&gt;</font> Bool   <font color=Blue>-- ^ Whether to include anchors.</font>-<a name="line-13"></a>         <font color=Red>-&gt;</font> Bool   <font color=Blue>-- ^ Whether output should be partial</font>-<a name="line-14"></a>                   <font color=Blue>--   (= no document headers will be included.)</font>-<a name="line-15"></a>         <font color=Red>-&gt;</font> String <font color=Blue>-- ^ Title for HTML page.</font>-<a name="line-16"></a>         <font color=Red>-&gt;</font> String <font color=Blue>-- ^ Haskell source code.</font>-<a name="line-17"></a>         <font color=Red>-&gt;</font> String <font color=Blue>-- ^ An HTML document containing the coloured </font>-<a name="line-18"></a>                   <font color=Blue>--   Haskell source code.</font>-<a name="line-19"></a>hscolour prefs anchor partial title <font color=Red>=</font>-<a name="line-20"></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-21"></a>  <font color=Cyan>.</font> pre-<a name="line-22"></a>  <font color=Cyan>.</font> <font color=Cyan>(</font><u><font color=Green>if</font></u> anchor -<a name="line-23"></a>        <u><font color=Green>then</font></u> renderNewLinesAnchors-<a name="line-24"></a>             <font color=Cyan>.</font> concatMap <font color=Cyan>(</font>renderAnchors <font color=Cyan>(</font>renderToken prefs<font color=Cyan>)</font><font color=Cyan>)</font>-<a name="line-25"></a>             <font color=Cyan>.</font> insertAnchors-<a name="line-26"></a>        <u><font color=Green>else</font></u> concatMap <font color=Cyan>(</font>renderToken prefs<font color=Cyan>)</font><font color=Cyan>)</font>-<a name="line-27"></a>  <font color=Cyan>.</font> tokenise-<a name="line-28"></a>-<a name="line-29"></a><a name="top'n'tail"></a>top'n'tail <font color=Red>::</font> String <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String-<a name="line-30"></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-13"></a>         <font color=Red>-&gt;</font> String <font color=Blue>-- ^ Haskell source code.</font>+<a name="line-14"></a>         <font color=Red>-&gt;</font> String <font color=Blue>-- ^ An HTML document containing the coloured </font>+<a name="line-15"></a>                   <font color=Blue>--   Haskell source code.</font>+<a name="line-16"></a>hscolour prefs anchor <font color=Red>=</font>+<a name="line-17"></a>  pre+<a name="line-18"></a>  <font color=Cyan>.</font> <font color=Cyan>(</font><u><font color=Green>if</font></u> anchor +<a name="line-19"></a>        <u><font color=Green>then</font></u> renderNewLinesAnchors+<a name="line-20"></a>             <font color=Cyan>.</font> concatMap <font color=Cyan>(</font>renderAnchors <font color=Cyan>(</font>renderToken prefs<font color=Cyan>)</font><font color=Cyan>)</font>+<a name="line-21"></a>             <font color=Cyan>.</font> insertAnchors+<a name="line-22"></a>        <u><font color=Green>else</font></u> concatMap <font color=Cyan>(</font>renderToken prefs<font color=Cyan>)</font><font color=Cyan>)</font>+<a name="line-23"></a>  <font color=Cyan>.</font> tokenise+<a name="line-24"></a>+<a name="line-25"></a><a name="top'n'tail"></a>top'n'tail <font color=Red>::</font> String <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String+<a name="line-26"></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-27"></a>+<a name="line-28"></a><a name="pre"></a>pre <font color=Red>::</font> String <font color=Red>-&gt;</font> String+<a name="line-29"></a>pre <font color=Red>=</font>   <font color=Cyan>(</font><font color=Magenta>"&lt;pre style=\"font-family:Consolas, Monaco, Monospace;\"&gt;"</font><font color=Cyan>++</font><font color=Cyan>)</font>+<a name="line-30"></a>      <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font><font color=Magenta>"&lt;/pre&gt;"</font><font color=Cyan>)</font> <a name="line-31"></a>-<a name="line-32"></a><a name="pre"></a>pre <font color=Red>::</font> String <font color=Red>-&gt;</font> String-<a name="line-33"></a>pre <font color=Red>=</font>   <font color=Cyan>(</font><font color=Magenta>"&lt;pre style=\"font-family:Consolas, Monaco, Monospace;\"&gt;"</font><font color=Cyan>++</font><font color=Cyan>)</font>-<a name="line-34"></a>      <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font><font color=Magenta>"&lt;/pre&gt;"</font><font color=Cyan>)</font>-<a name="line-35"></a>-<a name="line-36"></a><a name="renderToken"></a>renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-&gt;</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String-<a name="line-37"></a>renderToken prefs <font color=Cyan>(</font>cls<font color=Cyan>,</font>text<font color=Cyan>)</font> <font color=Red>=</font>-<a name="line-38"></a>  stylise <font color=Cyan>(</font>colourise prefs cls<font color=Cyan>)</font> <font color=Cyan>$</font>-<a name="line-39"></a>  <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-<a name="line-40"></a>-<a name="line-41"></a><a name="stylise"></a>stylise <font color=Red>::</font> <font color=Red>[</font>Highlight<font color=Red>]</font> <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String-<a name="line-42"></a>stylise hs s <font color=Red>=</font> <font color=Magenta>"&lt;span style=\""</font> <font color=Cyan>++</font> concatMap style hs <font color=Cyan>++</font> <font color=Magenta>"\"&gt;"</font> <font color=Cyan>++</font>s<font color=Cyan>++</font> <font color=Magenta>"&lt;/span&gt;"</font>-<a name="line-43"></a>-<a name="line-44"></a><a name="cssPrefix"></a>cssPrefix title <font color=Red>=</font> unlines-<a name="line-45"></a>    <font color=Red>[</font><font color=Magenta>"&lt;!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"&gt;"</font>-<a name="line-46"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;html&gt;"</font>-<a name="line-47"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;head&gt;"</font>-<a name="line-48"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ --&gt;"</font>-<a name="line-49"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;title&gt;"</font><font color=Cyan>++</font>title<font color=Cyan>++</font><font color=Magenta>"&lt;/title&gt;"</font>-<a name="line-50"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;/head&gt;"</font>-<a name="line-51"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;body style=\"background-color: #131313; color: #ffffff;\"&gt;"</font>-<a name="line-52"></a>    <font color=Red>]</font>-<a name="line-53"></a>    -<a name="line-54"></a><a name="cssSuffix"></a>cssSuffix <font color=Red>=</font> unlines-<a name="line-55"></a>    <font color=Red>[</font><font color=Magenta>"&lt;/body&gt;"</font>-<a name="line-56"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;/html&gt;"</font>-<a name="line-57"></a>    <font color=Red>]</font>-<a name="line-58"></a>-<a name="line-59"></a><a name="style"></a>style <font color=Red>::</font> Highlight <font color=Red>-&gt;</font> String-<a name="line-60"></a>style Normal         <font color=Red>=</font> <font color=Magenta>""</font>-<a name="line-61"></a>style Bold           <font color=Red>=</font> <font color=Magenta>"font-weight: bold;"</font>-<a name="line-62"></a>style Dim            <font color=Red>=</font> <font color=Magenta>"font-weight: lighter;"</font>-<a name="line-63"></a>style Underscore     <font color=Red>=</font> <font color=Magenta>"text-decoration: underline;"</font>-<a name="line-64"></a>style Blink          <font color=Red>=</font> <font color=Magenta>"text-decoration:  blink;"</font>-<a name="line-65"></a>style ReverseVideo   <font color=Red>=</font> <font color=Magenta>""</font>-<a name="line-66"></a>style Concealed      <font color=Red>=</font> <font color=Magenta>"text-decoration:  line-through;"</font>-<a name="line-67"></a>style <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"color: "</font><font color=Cyan>++</font>csscolour c<font color=Cyan>++</font><font color=Magenta>";"</font>-<a name="line-68"></a>style <font color=Cyan>(</font>Background c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"background-colour: "</font><font color=Cyan>++</font>csscolour c<font color=Cyan>++</font><font color=Magenta>";"</font>-<a name="line-69"></a>style Italic         <font color=Red>=</font> <font color=Magenta>"font-style: italic;"</font>-<a name="line-70"></a>-<a name="line-71"></a><a name="csscolour"></a>csscolour <font color=Red>::</font> Colour <font color=Red>-&gt;</font> String-<a name="line-72"></a>csscolour Black   <font color=Red>=</font> <font color=Magenta>"#000000"</font>-<a name="line-73"></a>csscolour Red     <font color=Red>=</font> <font color=Magenta>"#ff0000"</font>-<a name="line-74"></a>csscolour Green   <font color=Red>=</font> <font color=Magenta>"#00ff00"</font>-<a name="line-75"></a>csscolour Yellow  <font color=Red>=</font> <font color=Magenta>"#ffff00"</font>-<a name="line-76"></a>csscolour Blue    <font color=Red>=</font> <font color=Magenta>"#0000ff"</font>-<a name="line-77"></a>csscolour Magenta <font color=Red>=</font> <font color=Magenta>"#ff00ff"</font>-<a name="line-78"></a>csscolour Cyan    <font color=Red>=</font> <font color=Magenta>"#00ffff"</font>-<a name="line-79"></a>csscolour White   <font color=Red>=</font> <font color=Magenta>"#ffffff"</font>-<a name="line-80"></a>+<a name="line-32"></a><a name="renderToken"></a>renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-&gt;</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String+<a name="line-33"></a>renderToken prefs <font color=Cyan>(</font>cls<font color=Cyan>,</font>text<font color=Cyan>)</font> <font color=Red>=</font>+<a name="line-34"></a>  stylise <font color=Cyan>(</font>colourise prefs cls<font color=Cyan>)</font> <font color=Cyan>$</font>+<a name="line-35"></a>  <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+<a name="line-36"></a>+<a name="line-37"></a><a name="stylise"></a>stylise <font color=Red>::</font> <font color=Red>[</font>Highlight<font color=Red>]</font> <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String+<a name="line-38"></a>stylise hs s <font color=Red>=</font> <font color=Magenta>"&lt;span style=\""</font> <font color=Cyan>++</font> concatMap style hs <font color=Cyan>++</font> <font color=Magenta>"\"&gt;"</font> <font color=Cyan>++</font>s<font color=Cyan>++</font> <font color=Magenta>"&lt;/span&gt;"</font>+<a name="line-39"></a>+<a name="line-40"></a><a name="cssPrefix"></a>cssPrefix title <font color=Red>=</font> unlines+<a name="line-41"></a>    <font color=Red>[</font><font color=Magenta>"&lt;!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"&gt;"</font>+<a name="line-42"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;html&gt;"</font>+<a name="line-43"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;head&gt;"</font>+<a name="line-44"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ --&gt;"</font>+<a name="line-45"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;title&gt;"</font><font color=Cyan>++</font>title<font color=Cyan>++</font><font color=Magenta>"&lt;/title&gt;"</font>+<a name="line-46"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;/head&gt;"</font>+<a name="line-47"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;body style=\"background-color: #131313; color: #ffffff;\"&gt;"</font>+<a name="line-48"></a>    <font color=Red>]</font>+<a name="line-49"></a>    +<a name="line-50"></a><a name="cssSuffix"></a>cssSuffix <font color=Red>=</font> unlines+<a name="line-51"></a>    <font color=Red>[</font><font color=Magenta>"&lt;/body&gt;"</font>+<a name="line-52"></a>    <font color=Cyan>,</font><font color=Magenta>"&lt;/html&gt;"</font>+<a name="line-53"></a>    <font color=Red>]</font>+<a name="line-54"></a>+<a name="line-55"></a><a name="style"></a>style <font color=Red>::</font> Highlight <font color=Red>-&gt;</font> String+<a name="line-56"></a>style Normal         <font color=Red>=</font> <font color=Magenta>""</font>+<a name="line-57"></a>style Bold           <font color=Red>=</font> <font color=Magenta>"font-weight: bold;"</font>+<a name="line-58"></a>style Dim            <font color=Red>=</font> <font color=Magenta>"font-weight: lighter;"</font>+<a name="line-59"></a>style Underscore     <font color=Red>=</font> <font color=Magenta>"text-decoration: underline;"</font>+<a name="line-60"></a>style Blink          <font color=Red>=</font> <font color=Magenta>"text-decoration:  blink;"</font>+<a name="line-61"></a>style ReverseVideo   <font color=Red>=</font> <font color=Magenta>""</font>+<a name="line-62"></a>style Concealed      <font color=Red>=</font> <font color=Magenta>"text-decoration:  line-through;"</font>+<a name="line-63"></a>style <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"color: "</font><font color=Cyan>++</font>csscolour c<font color=Cyan>++</font><font color=Magenta>";"</font>+<a name="line-64"></a>style <font color=Cyan>(</font>Background c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"background-colour: "</font><font color=Cyan>++</font>csscolour c<font color=Cyan>++</font><font color=Magenta>";"</font>+<a name="line-65"></a>style Italic         <font color=Red>=</font> <font color=Magenta>"font-style: italic;"</font>+<a name="line-66"></a>+<a name="line-67"></a><a name="csscolour"></a>csscolour <font color=Red>::</font> Colour <font color=Red>-&gt;</font> String+<a name="line-68"></a>csscolour Black   <font color=Red>=</font> <font color=Magenta>"#000000"</font>+<a name="line-69"></a>csscolour Red     <font color=Red>=</font> <font color=Magenta>"#ff0000"</font>+<a name="line-70"></a>csscolour Green   <font color=Red>=</font> <font color=Magenta>"#00ff00"</font>+<a name="line-71"></a>csscolour Yellow  <font color=Red>=</font> <font color=Magenta>"#ffff00"</font>+<a name="line-72"></a>csscolour Blue    <font color=Red>=</font> <font color=Magenta>"#0000ff"</font>+<a name="line-73"></a>csscolour Magenta <font color=Red>=</font> <font color=Magenta>"#ff00ff"</font>+<a name="line-74"></a>csscolour Cyan    <font color=Red>=</font> <font color=Magenta>"#00ffff"</font>+<a name="line-75"></a>csscolour White   <font color=Red>=</font> <font color=Magenta>"#ffffff"</font>+<a name="line-76"></a> </pre> </body> </html>
docs/hscolour/Language/Haskell/HsColour/LaTeX.html view
@@ -6,7 +6,7 @@ </head> <body> <pre><a name="line-1"></a><font color=Blue>-- | Formats Haskell source code using LaTeX macros.</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>LaTeX <font color=Cyan>(</font>hscolour<font color=Cyan>)</font> <u><font color=Green>where</font></u>+<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>LaTeX <font color=Cyan>(</font>hscolour<font color=Cyan>,</font> top'n'tail<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>Classify <u><font color=Green>as</font></u> Classify <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>Colourise@@ -14,107 +14,106 @@ <a name="line-7"></a> <a name="line-8"></a><a name="hscolour"></a><font color=Blue>-- | Formats Haskell source code as a complete LaTeX document.</font> <a name="line-9"></a>hscolour <font color=Red>::</font> ColourPrefs <font color=Blue>-- ^ Colour preferences.</font>-<a name="line-10"></a>         <font color=Red>-&gt;</font> Bool        <font color=Blue>-- ^ Whether output should be partial (= no prologue).</font>-<a name="line-11"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font>-<a name="line-12"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ A LaTeX document\/fragment containing the coloured </font>-<a name="line-13"></a>                        <font color=Blue>--   Haskell source code.</font>-<a name="line-14"></a>hscolour pref partial <font color=Red>=</font>-<a name="line-15"></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<font color=Cyan>)</font>-<a name="line-16"></a>  <font color=Cyan>.</font> concatMap <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font>-<a name="line-17"></a>  <font color=Cyan>.</font> tokenise-<a name="line-18"></a>-<a name="line-19"></a><a name="top'n'tail"></a>top'n'tail <font color=Red>::</font> String <font color=Red>-&gt;</font> String-<a name="line-20"></a>top'n'tail  <font color=Red>=</font> <font color=Cyan>(</font>latexPrefix<font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font>latexSuffix<font color=Cyan>)</font>-<a name="line-21"></a>-<a name="line-22"></a><a name="renderToken"></a><font color=Blue>-- | Wrap each lexeme in the appropriate LaTeX macro.</font>-<a name="line-23"></a><font color=Blue>--   TODO: filter dangerous characters like "{}_$"</font>-<a name="line-24"></a>renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-&gt;</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String-<a name="line-25"></a>renderToken pref <font color=Cyan>(</font>Space<font color=Cyan>,</font>text<font color=Cyan>)</font> <font color=Red>=</font> filterSpace text-<a name="line-26"></a>renderToken pref <font color=Cyan>(</font>cls<font color=Cyan>,</font>text<font color=Cyan>)</font>   <font color=Red>=</font>-<a name="line-27"></a>  <u><font color=Green>let</font></u> symb <font color=Red>=</font> <u><font color=Green>case</font></u> cls <u><font color=Green>of</font></u>-<a name="line-28"></a>              String <font color=Red>-&gt;</font> <font color=Magenta>"``"</font> <font color=Cyan>++</font> <font color=Cyan>(</font>dropFirst <font color=Magenta>'\"'</font> <font color=Cyan>$</font> dropLast <font color=Magenta>'\"'</font> <font color=Cyan>$</font> text<font color=Cyan>)</font> <font color=Cyan>++</font> <font color=Magenta>"''"</font>-<a name="line-29"></a>              <u><font color=Green>_</font></u>      <font color=Red>-&gt;</font> text-<a name="line-30"></a>      style <font color=Red>=</font> colourise pref cls-<a name="line-31"></a>      <font color=Cyan>(</font>pre<font color=Cyan>,</font> post<font color=Cyan>)</font> <font color=Red>=</font> unzip <font color=Cyan>$</font> map latexHighlight style-<a name="line-32"></a>  <u><font color=Green>in</font></u> concat pre <font color=Cyan>++</font> filterSpecial symb <font color=Cyan>++</font> concat post-<a name="line-33"></a>-<a name="line-34"></a><a name="filterSpace"></a><font color=Blue>-- | Filter white space characters.</font>-<a name="line-35"></a>filterSpace <font color=Red>::</font> String-<a name="line-36"></a>            <font color=Red>-&gt;</font> String-<a name="line-37"></a>filterSpace <font color=Cyan>(</font><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpace ss<font color=Cyan>)</font>-<a name="line-38"></a>filterSpace <font color=Cyan>(</font><font color=Magenta>' '</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\hsspace "</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpace ss<font color=Cyan>)</font>-<a name="line-39"></a>filterSpace <font color=Cyan>(</font><font color=Magenta>'\t'</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"\\hstab "</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpace ss<font color=Cyan>)</font>-<a name="line-40"></a>filterSpace <font color=Cyan>(</font>c<b><font color=Red>:</font></b>ss<font color=Cyan>)</font>    <font color=Red>=</font> c<b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpace ss<font color=Cyan>)</font>-<a name="line-41"></a>filterSpace []        <font color=Red>=</font> []-<a name="line-42"></a>-<a name="line-43"></a><a name="filterSpecial"></a><font color=Blue>-- | Filters the characters "#$%&amp;~_^\{}" which are special</font>-<a name="line-44"></a><font color=Blue>--   in LaTeX.</font>-<a name="line-45"></a>filterSpecial <font color=Red>::</font> String  <font color=Blue>-- ^ The string to filter. </font>-<a name="line-46"></a>              <font color=Red>-&gt;</font> String  <font color=Blue>-- ^ The LaTeX-safe string.</font>-<a name="line-47"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'#'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'#'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-48"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'$'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'$'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-49"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'%'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'%'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-50"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'&amp;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'&amp;'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-51"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'~'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\tilde{ }"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-52"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'_'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'_'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-53"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'^'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{\\hat{ }}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-54"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'\\'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"$\\backslash$"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-55"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'{'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'{'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-56"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'}'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'}'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-57"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'|'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{|}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-58"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'&lt;'</font><b><font color=Red>:</font></b><font color=Magenta>'-'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{\\leftarrow}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-59"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'&lt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{\\langle}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-60"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'-'</font><b><font color=Red>:</font></b><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{\\rightarrow}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-61"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{\\rangle}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-62"></a>filterSpecial <font color=Cyan>(</font>c<b><font color=Red>:</font></b>cs<font color=Cyan>)</font>    <font color=Red>=</font> c<b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>-<a name="line-63"></a>filterSpecial []        <font color=Red>=</font> []-<a name="line-64"></a>-<a name="line-65"></a>-<a name="line-66"></a><a name="latexHighlight"></a><font color=Blue>-- | Constructs the appropriate LaTeX macro for the given style.</font>-<a name="line-67"></a>latexHighlight <font color=Red>::</font> Highlight <font color=Red>-&gt;</font> <font color=Cyan>(</font>String<font color=Cyan>,</font> String<font color=Cyan>)</font>-<a name="line-68"></a>latexHighlight Normal         <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"{\\rm{}"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>-<a name="line-69"></a>latexHighlight Bold           <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"{\\bf{}"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>-<a name="line-70"></a>latexHighlight Dim            <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>""</font><font color=Cyan>,</font> <font color=Magenta>""</font><font color=Cyan>)</font>-<a name="line-71"></a>latexHighlight Underscore     <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"\\underline{"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>-<a name="line-72"></a>latexHighlight Blink          <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>""</font><font color=Cyan>,</font> <font color=Magenta>""</font><font color=Cyan>)</font>-<a name="line-73"></a>latexHighlight ReverseVideo   <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>""</font><font color=Cyan>,</font> <font color=Magenta>""</font><font color=Cyan>)</font>-<a name="line-74"></a>latexHighlight Concealed      <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"\\conceal{"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>-<a name="line-75"></a>latexHighlight <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"\\textcolor{"</font><font color=Cyan>++</font> latexColour c <font color=Cyan>++</font><font color=Magenta>"}{"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>-<a name="line-76"></a>latexHighlight <font color=Cyan>(</font>Background c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"\\colorbox{"</font><font color=Cyan>++</font> latexColour c <font color=Cyan>++</font><font color=Magenta>"}{"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>-<a name="line-77"></a>latexHighlight Italic         <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"{\\it{}"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>-<a name="line-78"></a>-<a name="line-79"></a><a name="latexColour"></a><font color=Blue>-- | Translate a 'Colour' into a LaTeX colour name.</font>-<a name="line-80"></a>latexColour <font color=Red>::</font> Colour <font color=Red>-&gt;</font> String-<a name="line-81"></a>latexColour Black   <font color=Red>=</font> <font color=Magenta>"black"</font>-<a name="line-82"></a>latexColour Red     <font color=Red>=</font> <font color=Magenta>"red"</font>-<a name="line-83"></a>latexColour Green   <font color=Red>=</font> <font color=Magenta>"green"</font>-<a name="line-84"></a>latexColour Yellow  <font color=Red>=</font> <font color=Magenta>"yellow"</font>-<a name="line-85"></a>latexColour Blue    <font color=Red>=</font> <font color=Magenta>"blue"</font>-<a name="line-86"></a>latexColour Magenta <font color=Red>=</font> <font color=Magenta>"magenta"</font>-<a name="line-87"></a>latexColour Cyan    <font color=Red>=</font> <font color=Magenta>"cyan"</font>-<a name="line-88"></a>latexColour White   <font color=Red>=</font> <font color=Magenta>"white"</font>-<a name="line-89"></a>-<a name="line-90"></a><a name="latexPrefix"></a><font color=Blue>-- | Generic LaTeX document preamble.</font>-<a name="line-91"></a>latexPrefix <font color=Red>=</font> unlines-<a name="line-92"></a>    <font color=Red>[</font><font color=Magenta>"\\documentclass[a4paper, 12pt]{article}"</font>-<a name="line-93"></a>    <font color=Cyan>,</font><font color=Magenta>"\\usepackage[usenames]{color}"</font>-<a name="line-94"></a>    <font color=Cyan>,</font><font color=Magenta>"\\usepackage{hyperref}"</font>-<a name="line-95"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newsavebox{\\spaceb}"</font>-<a name="line-96"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newsavebox{\\tabb}"</font>-<a name="line-97"></a>    <font color=Cyan>,</font><font color=Magenta>"\\savebox{\\spaceb}[1ex]{~}"</font>-<a name="line-98"></a>    <font color=Cyan>,</font><font color=Magenta>"\\savebox{\\tabb}[4ex]{~}"</font>-<a name="line-99"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\hsspace}{\\usebox{\\spaceb}}"</font>-<a name="line-100"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\hstab}{\\usebox{\\tabb}}"</font>-<a name="line-101"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\conceal}[1]{}"</font>-<a name="line-102"></a>    <font color=Cyan>,</font><font color=Magenta>"\\begin{document}"</font>-<a name="line-103"></a>    <font color=Cyan>,</font><font color=Magenta>"\\noindent"</font>-<a name="line-104"></a>    <font color=Red>]</font>-<a name="line-105"></a>-<a name="line-106"></a><a name="latexSuffix"></a><font color=Blue>-- | Generic LaTeX document postamble.</font>-<a name="line-107"></a>latexSuffix <font color=Red>=</font> unlines-<a name="line-108"></a>    <font color=Red>[</font><font color=Magenta>""</font>-<a name="line-109"></a>    <font color=Cyan>,</font><font color=Magenta>"\\end{document}"</font>-<a name="line-110"></a>    <font color=Red>]</font>+<a name="line-10"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ Haskell source code.</font>+<a name="line-11"></a>         <font color=Red>-&gt;</font> String      <font color=Blue>-- ^ A LaTeX document\/fragment containing the coloured </font>+<a name="line-12"></a>                        <font color=Blue>--   Haskell source code.</font>+<a name="line-13"></a>hscolour pref <font color=Red>=</font> concatMap <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font> <font color=Cyan>.</font> tokenise+<a name="line-14"></a>+<a name="line-15"></a><a name="top'n'tail"></a>top'n'tail <font color=Red>::</font> String <font color=Red>-&gt;</font> String <font color=Red>-&gt;</font> String+<a name="line-16"></a>top'n'tail title <font color=Red>=</font> <font color=Cyan>(</font>latexPrefix title<font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font>latexSuffix<font color=Cyan>)</font>+<a name="line-17"></a>+<a name="line-18"></a><a name="renderToken"></a><font color=Blue>-- | Wrap each lexeme in the appropriate LaTeX macro.</font>+<a name="line-19"></a><font color=Blue>--   TODO: filter dangerous characters like "{}_$"</font>+<a name="line-20"></a>renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-&gt;</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-&gt;</font> String+<a name="line-21"></a>renderToken pref <font color=Cyan>(</font>Space<font color=Cyan>,</font>text<font color=Cyan>)</font> <font color=Red>=</font> filterSpace text+<a name="line-22"></a>renderToken pref <font color=Cyan>(</font>cls<font color=Cyan>,</font>text<font color=Cyan>)</font>   <font color=Red>=</font>+<a name="line-23"></a>  <u><font color=Green>let</font></u> symb <font color=Red>=</font> <u><font color=Green>case</font></u> cls <u><font color=Green>of</font></u>+<a name="line-24"></a>              String <font color=Red>-&gt;</font> <font color=Magenta>"``"</font> <font color=Cyan>++</font> <font color=Cyan>(</font>dropFirst <font color=Magenta>'\"'</font> <font color=Cyan>$</font> dropLast <font color=Magenta>'\"'</font> <font color=Cyan>$</font> text<font color=Cyan>)</font> <font color=Cyan>++</font> <font color=Magenta>"''"</font>+<a name="line-25"></a>              <u><font color=Green>_</font></u>      <font color=Red>-&gt;</font> text+<a name="line-26"></a>      style <font color=Red>=</font> colourise pref cls+<a name="line-27"></a>      <font color=Cyan>(</font>pre<font color=Cyan>,</font> post<font color=Cyan>)</font> <font color=Red>=</font> unzip <font color=Cyan>$</font> map latexHighlight style+<a name="line-28"></a>  <u><font color=Green>in</font></u> concat pre <font color=Cyan>++</font> filterSpecial symb <font color=Cyan>++</font> concat post+<a name="line-29"></a>+<a name="line-30"></a><a name="filterSpace"></a><font color=Blue>-- | Filter white space characters.</font>+<a name="line-31"></a>filterSpace <font color=Red>::</font> String+<a name="line-32"></a>            <font color=Red>-&gt;</font> String+<a name="line-33"></a>filterSpace <font color=Cyan>(</font><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpace ss<font color=Cyan>)</font>+<a name="line-34"></a>filterSpace <font color=Cyan>(</font><font color=Magenta>' '</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\hsspace "</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpace ss<font color=Cyan>)</font>+<a name="line-35"></a>filterSpace <font color=Cyan>(</font><font color=Magenta>'\t'</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"\\hstab "</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpace ss<font color=Cyan>)</font>+<a name="line-36"></a>filterSpace <font color=Cyan>(</font>c<b><font color=Red>:</font></b>ss<font color=Cyan>)</font>    <font color=Red>=</font> c<b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpace ss<font color=Cyan>)</font>+<a name="line-37"></a>filterSpace []        <font color=Red>=</font> []+<a name="line-38"></a>+<a name="line-39"></a><a name="filterSpecial"></a><font color=Blue>-- | Filters the characters "#$%&amp;~_^\{}" which are special</font>+<a name="line-40"></a><font color=Blue>--   in LaTeX.</font>+<a name="line-41"></a>filterSpecial <font color=Red>::</font> String  <font color=Blue>-- ^ The string to filter. </font>+<a name="line-42"></a>              <font color=Red>-&gt;</font> String  <font color=Blue>-- ^ The LaTeX-safe string.</font>+<a name="line-43"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'#'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'#'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-44"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'$'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'$'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-45"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'%'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'%'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-46"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'&amp;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'&amp;'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-47"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'~'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\tilde{ }"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-48"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'_'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'_'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-49"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'^'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{\\hat{ }}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-50"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'\\'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"$\\backslash$"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-51"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'{'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'{'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-52"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'}'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>'\\'</font><b><font color=Red>:</font></b><font color=Magenta>'}'</font><b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-53"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'|'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{|}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-54"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'&lt;'</font><b><font color=Red>:</font></b><font color=Magenta>'-'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{\\leftarrow}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-55"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'&lt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{\\langle}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-56"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'-'</font><b><font color=Red>:</font></b><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{\\rightarrow}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-57"></a>filterSpecial <font color=Cyan>(</font><font color=Magenta>'&gt;'</font><b><font color=Red>:</font></b>cs<font color=Cyan>)</font>  <font color=Red>=</font> <font color=Magenta>"\\ensuremath{\\rangle}"</font><font color=Cyan>++</font><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-58"></a>filterSpecial <font color=Cyan>(</font>c<b><font color=Red>:</font></b>cs<font color=Cyan>)</font>    <font color=Red>=</font> c<b><font color=Red>:</font></b><font color=Cyan>(</font>filterSpecial cs<font color=Cyan>)</font>+<a name="line-59"></a>filterSpecial []        <font color=Red>=</font> []+<a name="line-60"></a>+<a name="line-61"></a>+<a name="line-62"></a><a name="latexHighlight"></a><font color=Blue>-- | Constructs the appropriate LaTeX macro for the given style.</font>+<a name="line-63"></a>latexHighlight <font color=Red>::</font> Highlight <font color=Red>-&gt;</font> <font color=Cyan>(</font>String<font color=Cyan>,</font> String<font color=Cyan>)</font>+<a name="line-64"></a>latexHighlight Normal         <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"{\\rm{}"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>+<a name="line-65"></a>latexHighlight Bold           <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"{\\bf{}"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>+<a name="line-66"></a>latexHighlight Dim            <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>""</font><font color=Cyan>,</font> <font color=Magenta>""</font><font color=Cyan>)</font>+<a name="line-67"></a>latexHighlight Underscore     <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"\\underline{"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>+<a name="line-68"></a>latexHighlight Blink          <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>""</font><font color=Cyan>,</font> <font color=Magenta>""</font><font color=Cyan>)</font>+<a name="line-69"></a>latexHighlight ReverseVideo   <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>""</font><font color=Cyan>,</font> <font color=Magenta>""</font><font color=Cyan>)</font>+<a name="line-70"></a>latexHighlight Concealed      <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"\\conceal{"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>+<a name="line-71"></a>latexHighlight <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"\\textcolor{"</font><font color=Cyan>++</font> latexColour c <font color=Cyan>++</font><font color=Magenta>"}{"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>+<a name="line-72"></a>latexHighlight <font color=Cyan>(</font>Background c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"\\colorbox{"</font><font color=Cyan>++</font> latexColour c <font color=Cyan>++</font><font color=Magenta>"}{"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>+<a name="line-73"></a>latexHighlight Italic         <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"{\\it{}"</font><font color=Cyan>,</font> <font color=Magenta>"}"</font><font color=Cyan>)</font>+<a name="line-74"></a>+<a name="line-75"></a><a name="latexColour"></a><font color=Blue>-- | Translate a 'Colour' into a LaTeX colour name.</font>+<a name="line-76"></a>latexColour <font color=Red>::</font> Colour <font color=Red>-&gt;</font> String+<a name="line-77"></a>latexColour Black   <font color=Red>=</font> <font color=Magenta>"black"</font>+<a name="line-78"></a>latexColour Red     <font color=Red>=</font> <font color=Magenta>"red"</font>+<a name="line-79"></a>latexColour Green   <font color=Red>=</font> <font color=Magenta>"green"</font>+<a name="line-80"></a>latexColour Yellow  <font color=Red>=</font> <font color=Magenta>"yellow"</font>+<a name="line-81"></a>latexColour Blue    <font color=Red>=</font> <font color=Magenta>"blue"</font>+<a name="line-82"></a>latexColour Magenta <font color=Red>=</font> <font color=Magenta>"magenta"</font>+<a name="line-83"></a>latexColour Cyan    <font color=Red>=</font> <font color=Magenta>"cyan"</font>+<a name="line-84"></a>latexColour White   <font color=Red>=</font> <font color=Magenta>"white"</font>+<a name="line-85"></a>+<a name="line-86"></a><a name="latexPrefix"></a><font color=Blue>-- | Generic LaTeX document preamble.</font>+<a name="line-87"></a>latexPrefix title <font color=Red>=</font> unlines+<a name="line-88"></a>    <font color=Red>[</font><font color=Magenta>"\\documentclass[a4paper, 12pt]{article}"</font>+<a name="line-89"></a>    <font color=Cyan>,</font><font color=Magenta>"\\usepackage[usenames]{color}"</font>+<a name="line-90"></a>    <font color=Cyan>,</font><font color=Magenta>"\\usepackage{hyperref}"</font>+<a name="line-91"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newsavebox{\\spaceb}"</font>+<a name="line-92"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newsavebox{\\tabb}"</font>+<a name="line-93"></a>    <font color=Cyan>,</font><font color=Magenta>"\\savebox{\\spaceb}[1ex]{~}"</font>+<a name="line-94"></a>    <font color=Cyan>,</font><font color=Magenta>"\\savebox{\\tabb}[4ex]{~}"</font>+<a name="line-95"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\hsspace}{\\usebox{\\spaceb}}"</font>+<a name="line-96"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\hstab}{\\usebox{\\tabb}}"</font>+<a name="line-97"></a>    <font color=Cyan>,</font><font color=Magenta>"\\newcommand{\\conceal}[1]{}"</font>+<a name="line-98"></a>    <font color=Cyan>,</font><font color=Magenta>"\\title{"</font><font color=Cyan>++</font>title<font color=Cyan>++</font><font color=Magenta>"}"</font>+<a name="line-99"></a>    <font color=Cyan>,</font><font color=Magenta>"%% Generated by HsColour"</font>+<a name="line-100"></a>    <font color=Cyan>,</font><font color=Magenta>"\\begin{document}"</font>+<a name="line-101"></a>    <font color=Cyan>,</font><font color=Magenta>"\\maketitle"</font>+<a name="line-102"></a>    <font color=Cyan>,</font><font color=Magenta>"\\noindent"</font>+<a name="line-103"></a>    <font color=Red>]</font>+<a name="line-104"></a>+<a name="line-105"></a><a name="latexSuffix"></a><font color=Blue>-- | Generic LaTeX document postamble.</font>+<a name="line-106"></a>latexSuffix <font color=Red>=</font> unlines+<a name="line-107"></a>    <font color=Red>[</font><font color=Magenta>""</font>+<a name="line-108"></a>    <font color=Cyan>,</font><font color=Magenta>"\\end{document}"</font>+<a name="line-109"></a>    <font color=Red>]</font> </pre> </body> </html>
docs/hscolour/doc-index-T.html view
@@ -161,6 +161,42 @@ >Language.Haskell.HsColour.Classify</A ></TD ></TR+><TR+><TD CLASS="indexentry" COLSPAN="2"+>top'n'tail</TD+></TR+><TR+><TD CLASS="indexannot"+>1 (Function)</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-CSS.html#v%3Atop%27n%27tail"+>Language.Haskell.HsColour.CSS</A+></TD+></TR+><TR+><TD CLASS="indexannot"+>2 (Function)</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-HTML.html#v%3Atop%27n%27tail"+>Language.Haskell.HsColour.HTML</A+></TD+></TR+><TR+><TD CLASS="indexannot"+>3 (Function)</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-InlineCSS.html#v%3Atop%27n%27tail"+>Language.Haskell.HsColour.InlineCSS</A+></TD+></TR+><TR+><TD CLASS="indexannot"+>4 (Function)</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-LaTeX.html#v%3Atop%27n%27tail"+>Language.Haskell.HsColour.LaTeX</A+></TD+></TR ></TABLE ></TD ></TR
hscolour.cabal view
@@ -1,5 +1,5 @@ Name: hscolour-Version: 1.14+Version: 1.15 Copyright: 2003-2009 Malcolm Wallace, University of York; 2006 Bjorn Bringert Maintainer: Malcolm Wallace Author: Malcolm Wallace
index.html view
@@ -36,10 +36,10 @@ <li> Download a tarfile package from:      <a href="ftp://ftp.cs.york.ac.uk/pub/haskell/contrib/">      ftp://ftp.cs.york.ac.uk/pub/haskell/contrib/</a>-     <a href="http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.14.tar.gz">-     http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.14.tar.gz</a>-     <a href="http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.14.zip">-     http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.14.zip</a>+     <a href="http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.15.tar.gz">+     http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.15.tar.gz</a>+     <a href="http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.15.zip">+     http://www.cs.york.ac.uk/fp/darcs/hscolour/hscolour-1.15.zip</a> <li> Or use the <a href="http://darcs.net/">darcs</a> repository at<br>        <tt>darcs get http://www.cs.york.ac.uk/fp/darcs/hscolour</tt> <li> Sources and history are browsable on-line through@@ -200,6 +200,7 @@ <h2>History</h2> <p> <dl>+<dt>1.15</dt><dd> makes -nopartial the default for literate files</dd> <dt>1.14</dt><dd> merges the -lit and -lit-tex options, adds -lit guessing,                   and permits multiple input files</dd> <dt>1.13</dt><dd> added the new -icss output format, and italic highlights</dd>@@ -224,7 +225,7 @@ </dl>  <p>-This page last modified: 21st August 2009<br>+This page last modified: 24th August 2009<br> Malcolm Wallace<br>  </td></tr></table>