hscolour (empty) → 1.6
raw patch · 64 files changed
+9122/−0 lines, 64 filesdep +basedep +haskell98build-type:Customsetup-changedbinary-added
Dependencies added: base, haskell98
Files
- .hscolour +15/−0
- HsColour.hs +44/−0
- LICENCE-GPL +342/−0
- Language/Haskell/HsColour.hs +36/−0
- Language/Haskell/HsColour/ANSI.hs +93/−0
- Language/Haskell/HsColour/Anchors.hs +130/−0
- Language/Haskell/HsColour/CSS.hs +65/−0
- Language/Haskell/HsColour/Classify.hs +99/−0
- Language/Haskell/HsColour/ColourHighlight.hs +20/−0
- Language/Haskell/HsColour/Colourise.hs +64/−0
- Language/Haskell/HsColour/HTML.hs +68/−0
- Language/Haskell/HsColour/LaTeX.hs +111/−0
- Language/Haskell/HsColour/TTY.hs +15/−0
- Makefile +47/−0
- README +55/−0
- Setup.hs +4/−0
- docs/hscolour/Language-Haskell-HsColour-ANSI.html +532/−0
- docs/hscolour/Language-Haskell-HsColour-Anchors.html +155/−0
- docs/hscolour/Language-Haskell-HsColour-CSS.html +240/−0
- docs/hscolour/Language-Haskell-HsColour-Classify.html +309/−0
- docs/hscolour/Language-Haskell-HsColour-ColourHighlight.html +418/−0
- docs/hscolour/Language-Haskell-HsColour-Colourise.html +400/−0
- docs/hscolour/Language-Haskell-HsColour-HTML.html +284/−0
- docs/hscolour/Language-Haskell-HsColour-TTY.html +177/−0
- docs/hscolour/Language-Haskell-HsColour.html +549/−0
- docs/hscolour/Language/Haskell/HsColour.html +37/−0
- docs/hscolour/Language/Haskell/HsColour/ANSI.html +94/−0
- docs/hscolour/Language/Haskell/HsColour/Anchors.html +131/−0
- docs/hscolour/Language/Haskell/HsColour/CSS.html +66/−0
- docs/hscolour/Language/Haskell/HsColour/Classify.html +100/−0
- docs/hscolour/Language/Haskell/HsColour/ColourHighlight.html +21/−0
- docs/hscolour/Language/Haskell/HsColour/Colourise.html +65/−0
- docs/hscolour/Language/Haskell/HsColour/HTML.html +69/−0
- docs/hscolour/Language/Haskell/HsColour/TTY.html +16/−0
- docs/hscolour/doc-index-B.html +184/−0
- docs/hscolour/doc-index-C.html +364/−0
- docs/hscolour/doc-index-D.html +144/−0
- docs/hscolour/doc-index-E.html +158/−0
- docs/hscolour/doc-index-F.html +144/−0
- docs/hscolour/doc-index-G.html +152/−0
- docs/hscolour/doc-index-H.html +220/−0
- docs/hscolour/doc-index-I.html +142/−0
- docs/hscolour/doc-index-K.html +170/−0
- docs/hscolour/doc-index-L.html +168/−0
- docs/hscolour/doc-index-M.html +144/−0
- docs/hscolour/doc-index-N.html +162/−0
- docs/hscolour/doc-index-O.html +142/−0
- docs/hscolour/doc-index-R.html +186/−0
- docs/hscolour/doc-index-S.html +194/−0
- docs/hscolour/doc-index-T.html +158/−0
- docs/hscolour/doc-index-U.html +144/−0
- docs/hscolour/doc-index-V.html +180/−0
- docs/hscolour/doc-index-W.html +144/−0
- docs/hscolour/doc-index-Y.html +144/−0
- docs/hscolour/doc-index.html +128/−0
- docs/hscolour/haddock.css +260/−0
- docs/hscolour/haddock.js +15/−0
- docs/hscolour/haskell_icon.gif binary
- docs/hscolour/index.html +185/−0
- docs/hscolour/minus.gif binary
- docs/hscolour/plus.gif binary
- hscolour.cabal +30/−0
- hscolour.css +5/−0
- index.html +184/−0
+ .hscolour view
@@ -0,0 +1,15 @@+ColourPrefs+ { keyword = [Underscore,Foreground Green]+ , keyglyph = [Foreground Red]+ , layout = [Foreground Cyan]+ , comment = [Foreground Blue]+ , conid = [Normal]+ , varid = [Normal]+ , conop = [Bold,Foreground Red]+ , varop = [Foreground Cyan]+ , string = [Foreground Magenta]+ , char = [Foreground Magenta]+ , number = [Foreground Magenta]+ , selection = [Bold, Foreground Magenta]+ , variantselection = [Dim, Foreground Red, Underscore]+ }
+ HsColour.hs view
@@ -0,0 +1,44 @@+module Main where++import Language.Haskell.HsColour+import Language.Haskell.HsColour.Colourise (readColourPrefs)++import System+import IO (hPutStrLn,hFlush,stdout,stderr,hSetBuffering,BufferMode(..))++version = "1.6"++main :: IO ()+main = do+ prog <- System.getProgName+ args <- System.getArgs+ pref <- readColourPrefs+ (ioWrapper,output,anchors) <- case args of+ [] -> errorOut (help prog)+ ["-h"] -> errorOut (help prog)+ ["-help"] -> errorOut (help prog)+ ["--help"] -> errorOut (help prog)+ ["-v"] -> errorOut (prog++" "++version)+ ["-version"] -> errorOut (prog++" "++version)+ ["--version"] -> errorOut (prog++" "++version)+ ["-tty"] -> return (ttyInteract, TTY, False)+ ["-html"] -> return (ttyInteract, HTML, False)+ ["-css"] -> return (ttyInteract, CSS, False)+ ["-latex"] -> return (ttyInteract, LaTeX,False)+ ["-anchorHTML"] -> return (ttyInteract, HTML, True)+ ["-anchorCSS"] -> return (ttyInteract, CSS, True)+ [a] -> return (fileInteract a, TTY, False)+ ["-tty",a] -> return (fileInteract a, TTY, False)+ ["-html",a] -> return (fileInteract a, HTML, False)+ ["-css",a] -> return (fileInteract a, CSS, False)+ ["-latex",a] -> return (fileInteract a, LaTeX,False)+ ["-anchorHTML",a] -> return (fileInteract a, HTML, True)+ ["-anchorCSS",a] -> return (fileInteract a, CSS, True)+ _ -> errorOut (help prog)+ ioWrapper (hscolour output pref anchors)+ hFlush stdout+ where+ fileInteract f u = do readFile f >>= putStr . u+ ttyInteract s = do hSetBuffering stdout NoBuffering >> Prelude.interact s+ errorOut s = hPutStrLn stderr s >> hFlush stderr >> exitFailure+ help p = "Usage: "++p++" [-tty|-html|-css|-latex|-anchorHTML|-anchorCSS] [file.hs]"
+ LICENCE-GPL view
@@ -0,0 +1,342 @@+ GNU GENERAL PUBLIC LICENSE+ Version 2, June 1991++ Copyright (C) 1989, 1991 Free Software Foundation, Inc.+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA+ Everyone is permitted to copy and distribute verbatim copies+ of this license document, but changing it is not allowed.++ Preamble++ The licenses for most software are designed to take away your+freedom to share and change it. By contrast, the GNU General Public+License is intended to guarantee your freedom to share and change free+software--to make sure the software is free for all its users. This+General Public License applies to most of the Free Software+Foundation's software and to any other program whose authors commit to+using it. (Some other Free Software Foundation software is covered by+the GNU Library General Public License instead.) You can apply it to+your programs, too.++ When we speak of free software, we are referring to freedom, not+price. Our General Public Licenses are designed to make sure that you+have the freedom to distribute copies of free software (and charge for+this service if you wish), that you receive source code or can get it+if you want it, that you can change the software or use pieces of it+in new free programs; and that you know you can do these things.++ To protect your rights, we need to make restrictions that forbid+anyone to deny you these rights or to ask you to surrender the rights.+These restrictions translate to certain responsibilities for you if you+distribute copies of the software, or if you modify it.++ For example, if you distribute copies of such a program, whether+gratis or for a fee, you must give the recipients all the rights that+you have. You must make sure that they, too, receive or can get the+source code. And you must show them these terms so they know their+rights.++ We protect your rights with two steps: (1) copyright the software, and+(2) offer you this license which gives you legal permission to copy,+distribute and/or modify the software.++ Also, for each author's protection and ours, we want to make certain+that everyone understands that there is no warranty for this free+software. If the software is modified by someone else and passed on, we+want its recipients to know that what they have is not the original, so+that any problems introduced by others will not reflect on the original+authors' reputations.++ Finally, any free program is threatened constantly by software+patents. We wish to avoid the danger that redistributors of a free+program will individually obtain patent licenses, in effect making the+program proprietary. To prevent this, we have made it clear that any+patent must be licensed for everyone's free use or not licensed at all.++ The precise terms and conditions for copying, distribution and+modification follow.+++ GNU GENERAL PUBLIC LICENSE+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION++ 0. This License applies to any program or other work which contains+a notice placed by the copyright holder saying it may be distributed+under the terms of this General Public License. The "Program", below,+refers to any such program or work, and a "work based on the Program"+means either the Program or any derivative work under copyright law:+that is to say, a work containing the Program or a portion of it,+either verbatim or with modifications and/or translated into another+language. (Hereinafter, translation is included without limitation in+the term "modification".) Each licensee is addressed as "you".++Activities other than copying, distribution and modification are not+covered by this License; they are outside its scope. The act of+running the Program is not restricted, and the output from the Program+is covered only if its contents constitute a work based on the+Program (independent of having been made by running the Program).+Whether that is true depends on what the Program does.++ 1. You may copy and distribute verbatim copies of the Program's+source code as you receive it, in any medium, provided that you+conspicuously and appropriately publish on each copy an appropriate+copyright notice and disclaimer of warranty; keep intact all the+notices that refer to this License and to the absence of any warranty;+and give any other recipients of the Program a copy of this License+along with the Program.++You may charge a fee for the physical act of transferring a copy, and+you may at your option offer warranty protection in exchange for a fee.++ 2. You may modify your copy or copies of the Program or any portion+of it, thus forming a work based on the Program, and copy and+distribute such modifications or work under the terms of Section 1+above, provided that you also meet all of these conditions:++ a) You must cause the modified files to carry prominent notices+ stating that you changed the files and the date of any change.++ b) You must cause any work that you distribute or publish, that in+ whole or in part contains or is derived from the Program or any+ part thereof, to be licensed as a whole at no charge to all third+ parties under the terms of this License.++ c) If the modified program normally reads commands interactively+ when run, you must cause it, when started running for such+ interactive use in the most ordinary way, to print or display an+ announcement including an appropriate copyright notice and a+ notice that there is no warranty (or else, saying that you provide+ a warranty) and that users may redistribute the program under+ these conditions, and telling the user how to view a copy of this+ License. (Exception: if the Program itself is interactive but+ does not normally print such an announcement, your work based on+ the Program is not required to print an announcement.)++These requirements apply to the modified work as a whole. If+identifiable sections of that work are not derived from the Program,+and can be reasonably considered independent and separate works in+themselves, then this License, and its terms, do not apply to those+sections when you distribute them as separate works. But when you+distribute the same sections as part of a whole which is a work based+on the Program, the distribution of the whole must be on the terms of+this License, whose permissions for other licensees extend to the+entire whole, and thus to each and every part regardless of who wrote it.++Thus, it is not the intent of this section to claim rights or contest+your rights to work written entirely by you; rather, the intent is to+exercise the right to control the distribution of derivative or+collective works based on the Program.++In addition, mere aggregation of another work not based on the Program+with the Program (or with a work based on the Program) on a volume of+a storage or distribution medium does not bring the other work under+the scope of this License.++ 3. You may copy and distribute the Program (or a work based on it,+under Section 2) in object code or executable form under the terms of+Sections 1 and 2 above provided that you also do one of the following:++ a) Accompany it with the complete corresponding machine-readable+ source code, which must be distributed under the terms of Sections+ 1 and 2 above on a medium customarily used for software interchange; or,++ b) Accompany it with a written offer, valid for at least three+ years, to give any third party, for a charge no more than your+ cost of physically performing source distribution, a complete+ machine-readable copy of the corresponding source code, to be+ distributed under the terms of Sections 1 and 2 above on a medium+ customarily used for software interchange; or,++ c) Accompany it with the information you received as to the offer+ to distribute corresponding source code. (This alternative is+ allowed only for noncommercial distribution and only if you+ received the program in object code or executable form with such+ an offer, in accord with Subsection b above.)++The source code for a work means the preferred form of the work for+making modifications to it. For an executable work, complete source+code means all the source code for all modules it contains, plus any+associated interface definition files, plus the scripts used to+control compilation and installation of the executable. However, as a+special exception, the source code distributed need not include+anything that is normally distributed (in either source or binary+form) with the major components (compiler, kernel, and so on) of the+operating system on which the executable runs, unless that component+itself accompanies the executable.++If distribution of executable or object code is made by offering+access to copy from a designated place, then offering equivalent+access to copy the source code from the same place counts as+distribution of the source code, even though third parties are not+compelled to copy the source along with the object code.++ 4. You may not copy, modify, sublicense, or distribute the Program+except as expressly provided under this License. Any attempt+otherwise to copy, modify, sublicense or distribute the Program is+void, and will automatically terminate your rights under this License.+However, parties who have received copies, or rights, from you under+this License will not have their licenses terminated so long as such+parties remain in full compliance.++ 5. You are not required to accept this License, since you have not+signed it. However, nothing else grants you permission to modify or+distribute the Program or its derivative works. These actions are+prohibited by law if you do not accept this License. Therefore, by+modifying or distributing the Program (or any work based on the+Program), you indicate your acceptance of this License to do so, and+all its terms and conditions for copying, distributing or modifying+the Program or works based on it.++ 6. Each time you redistribute the Program (or any work based on the+Program), the recipient automatically receives a license from the+original licensor to copy, distribute or modify the Program subject to+these terms and conditions. You may not impose any further+restrictions on the recipients' exercise of the rights granted herein.+You are not responsible for enforcing compliance by third parties to+this License.++ 7. If, as a consequence of a court judgment or allegation of patent+infringement or for any other reason (not limited to patent issues),+conditions are imposed on you (whether by court order, agreement or+otherwise) that contradict the conditions of this License, they do not+excuse you from the conditions of this License. If you cannot+distribute so as to satisfy simultaneously your obligations under this+License and any other pertinent obligations, then as a consequence you+may not distribute the Program at all. For example, if a patent+license would not permit royalty-free redistribution of the Program by+all those who receive copies directly or indirectly through you, then+the only way you could satisfy both it and this License would be to+refrain entirely from distribution of the Program.++If any portion of this section is held invalid or unenforceable under+any particular circumstance, the balance of the section is intended to+apply and the section as a whole is intended to apply in other+circumstances.++It is not the purpose of this section to induce you to infringe any+patents or other property right claims or to contest validity of any+such claims; this section has the sole purpose of protecting the+integrity of the free software distribution system, which is+implemented by public license practices. Many people have made+generous contributions to the wide range of software distributed+through that system in reliance on consistent application of that+system; it is up to the author/donor to decide if he or she is willing+to distribute software through any other system and a licensee cannot+impose that choice.++This section is intended to make thoroughly clear what is believed to+be a consequence of the rest of this License.++ 8. If the distribution and/or use of the Program is restricted in+certain countries either by patents or by copyrighted interfaces, the+original copyright holder who places the Program under this License+may add an explicit geographical distribution limitation excluding+those countries, so that distribution is permitted only in or among+countries not thus excluded. In such case, this License incorporates+the limitation as if written in the body of this License.++ 9. The Free Software Foundation may publish revised and/or new versions+of the General Public License from time to time. Such new versions will+be similar in spirit to the present version, but may differ in detail to+address new problems or concerns.++Each version is given a distinguishing version number. If the Program+specifies a version number of this License which applies to it and "any+later version", you have the option of following the terms and conditions+either of that version or of any later version published by the Free+Software Foundation. If the Program does not specify a version number of+this License, you may choose any version ever published by the Free Software+Foundation.++ 10. If you wish to incorporate parts of the Program into other free+programs whose distribution conditions are different, write to the author+to ask for permission. For software which is copyrighted by the Free+Software Foundation, write to the Free Software Foundation; we sometimes+make exceptions for this. Our decision will be guided by the two goals+of preserving the free status of all derivatives of our free software and+of promoting the sharing and reuse of software generally.++ NO WARRANTY++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,+REPAIR OR CORRECTION.++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE+POSSIBILITY OF SUCH DAMAGES.++ END OF TERMS AND CONDITIONS+++ How to Apply These Terms to Your New Programs++ If you develop a new program, and you want it to be of the greatest+possible use to the public, the best way to achieve this is to make it+free software which everyone can redistribute and change under these terms.++ To do so, attach the following notices to the program. It is safest+to attach them to the start of each source file to most effectively+convey the exclusion of warranty; and each file should have at least+the "copyright" line and a pointer to where the full notice is found.++ <one line to give the program's name and a brief idea of what it does.>+ Copyright (C) <year> <name of author>++ This program is free software; you can redistribute it and/or modify+ it under the terms of the GNU General Public License as published by+ the Free Software Foundation; either version 2 of the License, or+ (at your option) any later version.++ This program is distributed in the hope that it will be useful,+ but WITHOUT ANY WARRANTY; without even the implied warranty of+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the+ GNU General Public License for more details.++ You should have received a copy of the GNU General Public License+ along with this program; if not, write to the Free Software+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA+++Also add information on how to contact you by electronic and paper mail.++If the program is interactive, make it output a short notice like this+when it starts in an interactive mode:++ Gnomovision version 69, Copyright (C) year name of author+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.+ This is free software, and you are welcome to redistribute it+ under certain conditions; type `show c' for details.++The hypothetical commands `show w' and `show c' should show the appropriate+parts of the General Public License. Of course, the commands you use may+be called something other than `show w' and `show c'; they could even be+mouse-clicks or menu items--whatever suits your program.++You should also get your employer (if you work as a programmer) or your+school, if any, to sign a "copyright disclaimer" for the program, if+necessary. Here is a sample; alter the names:++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program+ `Gnomovision' (which makes passes at compilers) written by James Hacker.++ <signature of Ty Coon>, 1 April 1989+ Ty Coon, President of Vice++This General Public License does not permit incorporating your program into+proprietary programs. If your program is a subroutine library, you may+consider it more useful to permit linking proprietary applications with the+library. If this is what you want to do, use the GNU Library General+Public License instead of this License.
+ Language/Haskell/HsColour.hs view
@@ -0,0 +1,36 @@+-- | This is a library with colourises Haskell code. +-- It currently has three output formats: +--+-- * ANSI terminal codes+--+-- * LaTeX macros+--+-- * HTML with font tags+--+-- * HTML with CSS.+--+module Language.Haskell.HsColour (Output(..), ColourPrefs(..),+ hscolour) where++import Language.Haskell.HsColour.Colourise (ColourPrefs(..))+import qualified Language.Haskell.HsColour.TTY as TTY+import qualified Language.Haskell.HsColour.HTML as HTML+import qualified Language.Haskell.HsColour.CSS as CSS+import qualified Language.Haskell.HsColour.LaTeX as LaTeX++-- | The supported output formats.+data Output = TTY -- ^ ANSI terminal codes+ | LaTeX -- ^ TeX macros+ | HTML -- ^ HTML with font tags+ | CSS -- ^ HTML with CSS.++-- | Colourise Haskell source code with the give output format.+hscolour :: Output -- ^ Output format.+ -> ColourPrefs -- ^ Colour preferences for formats that support it.+ -> Bool -- ^ Whether to include anchors.+ -> String -- ^ Haskell source code.+ -> String -- ^ Coloured Haskell source code.+hscolour TTY pref _ = TTY.hscolour pref+hscolour LaTeX pref _ = LaTeX.hscolour pref+hscolour HTML pref anchor = HTML.hscolour pref anchor+hscolour CSS _ anchor = CSS.hscolour anchor
+ Language/Haskell/HsColour/ANSI.hs view
@@ -0,0 +1,93 @@+-- Partially taken from Hugs AnsiScreen.hs library:+module Language.Haskell.HsColour.ANSI+ ( highlightOn+ , highlightOff+ , highlight+ , cleareol, clearbol, clearline, clearDown, clearUp, cls+ , goto+ , cursorUp, cursorDown, cursorLeft, cursorRight+ , savePosition, restorePosition+ , Highlight(..)+ , Colour(..)+ , colourCycle+ , enableScrollRegion, scrollUp, scrollDown+ , lineWrap+ ) where++import Language.Haskell.HsColour.ColourHighlight++import List (intersperse,isPrefixOf)+import Char (isDigit)+++-- Basic screen control codes:++type Pos = (Int,Int)++at :: Pos -> String -> String+goto :: Int -> Int -> String+home :: String+cls :: String++at (x,y) s = goto x y ++ s+goto x y = '\ESC':'[':(show y ++(';':show x ++ "H"))+home = goto 1 1++cursorUp = "\ESC[A"+cursorDown = "\ESC[B"+cursorRight = "\ESC[C"+cursorLeft = "\ESC[D"++cleareol = "\ESC[K"+clearbol = "\ESC[1K"+clearline = "\ESC[2K"+clearDown = "\ESC[J"+clearUp = "\ESC[1J"+-- Choose whichever of the following lines is suitable for your system:+cls = "\ESC[2J" -- for PC with ANSI.SYS+--cls = "\^L" -- for Sun window++savePosition = "\ESC7"+restorePosition = "\ESC8"+++-- data Colour -- imported from ColourHighlight+-- data Highlight -- imported from ColourHighlight++instance Enum Highlight where+ fromEnum Normal = 0+ fromEnum Bold = 1+ fromEnum Dim = 2+ fromEnum Underscore = 4+ fromEnum Blink = 5+ fromEnum ReverseVideo = 7+ fromEnum Concealed = 8+ fromEnum (Foreground c) = 30 + fromEnum c+ fromEnum (Background c) = 40 + fromEnum c++highlight :: [Highlight] -> String -> String+highlight attrs s = highlightOn attrs ++ s ++ highlightOff++highlightOn [] = highlightOn [Normal]+highlightOn attrs = "\ESC["+ ++ concat (intersperse ";" (map (show.fromEnum) attrs))+ ++"m"+highlightOff = "\ESC[0m"+++-- An infinite supply of colours.+colourCycle :: [Colour]+colourCycle = cycle [Red,Blue,Magenta,Green,Cyan]+++-- Scrolling+enableScrollRegion :: Int -> Int -> String+enableScrollRegion start end = "\ESC["++show start++';':show end++"r"++scrollDown = "\ESCD"+scrollUp = "\ESCM"++-- Line-wrapping mode+lineWrap True = "\ESC[7h"+lineWrap False = "\ESC[7l"+
+ Language/Haskell/HsColour/Anchors.hs view
@@ -0,0 +1,130 @@+module Language.Haskell.HsColour.Anchors+ ( insertAnchors+ ) where++import Language.Haskell.HsColour.Classify+import List++-- This is an attempt to find the first defining occurrence of an+-- identifier (function, datatype, class) in a Haskell source file.+-- Rather than parse the module properly, we try to get by with just+-- a finite state automaton. Keeping a record of identifiers we+-- have already seen, we look at the beginning of every line to see+-- if it starts with the right tokens to introduce a defn. If so,+-- we look a little bit further until we can be certain. Then plonk+-- (or not) an anchor at the beginning of the line.++type Anchor = String++-- | 'insertAnchors' places an anchor marker in the token stream before the+-- first defining occurrence of any identifier. Here, /before/ means+-- immediately preceding its type signature, or preceding a (haddock)+-- comment that comes immediately before the type signature, or failing+-- either of those, before the first equation.+insertAnchors :: [(TokenType,String)] -> [Either Anchor (TokenType,String)]+insertAnchors = anchor emptyST++-- looks at first token in the left-most position of each line+-- precondition: have just seen a newline token.+anchor st s = case identifier st s of+ Nothing -> emit st s+ Just v -> Left v: emit (insertST v st) s++-- emit passes stuff through until the next newline has been encountered,+-- then jumps back into the anchor function+-- pre-condition: newlines are explicitly single tokens+emit st (t@(Space,"\n"):stream) = Right t: anchor st stream+emit st (t:stream) = Right t: emit st stream+emit _ [] = []++-- Given that we are at the beginning of a line, determine whether there+-- is an identifier defined here, and if so, return it.+-- precondition: have just seen a newline token.+identifier st t@((Varid,v):stream) =+ case skip stream of+ ((Varop,v):_) | not (v`inST`st) -> Just (fix v)+ notVarop -- | typesig stream -> Nothing -- not a defn+ | v `inST` st -> Nothing -- already defined+ | otherwise -> Just v+identifier st t@((Layout,"("):stream) =+ case stream of+ ((Varop,v):(Layout,")"):_)+ -- | typesig stream -> Nothing+ | v `inST` st -> Nothing+ | otherwise -> Just (fix v)+ notVarop -> case skip (munchParens stream) of+ ((Varop,v):_) | not (v`inST`st) -> Just (fix v)+ _ -> Nothing+identifier st t@((Keyword,"foreign"):stream) = Nothing -- not yet implemented+identifier st t@((Keyword,"data"):stream) = getConid stream+identifier st t@((Keyword,"type"):stream) = getConid stream+identifier st t@((Keyword,"class"):stream) = getConid stream+identifier st t@((Comment,_):(Space,"\n"):stream) = identifier st stream+identifier st stream = Nothing++-- Is this really a type signature? (no longer used)+typesig :: [(TokenType,String)] -> Bool+typesig ((Keyglyph,"::"):_) = True+typesig ((Varid,_):stream) = typesig stream+typesig ((Layout,"("):(Varop,_):(Layout,")"):stream) = typesig stream+typesig ((Layout,","):stream) = typesig stream+typesig ((Space,_):stream) = typesig stream+typesig ((Comment,_):stream) = typesig stream+typesig _ = False++-- throw away everything from opening paren to matching close+munchParens = munch (0::Int) -- already seen open paren+ where munch 0 ((Layout,")"):rest) = rest+ munch n ((Layout,")"):rest) = munch (n-1) rest+ munch n ((Layout,"("):rest) = munch (n+1) rest+ munch n (_:rest) = munch n rest+ munch _ [] = [] -- source is ill-formed++-- ensure anchor name is correct for a Varop+fix ('`':v) = init v+fix v = v++-- look past whitespace and comments to next "real" token+skip ((Space,_):stream) = skip stream+skip ((Comment,_):stream) = skip stream+skip stream = stream++-- skip possible context up to and including "=>", returning next Conid token+-- (this function is highly partial - relies on source being parse-correct)+getConid stream =+ case skip stream of+ ((Conid,c):rest) -> case context rest of+ ((Keyglyph,"="):_) -> Just c+ ((Keyglyph,"=>"):more) ->+ case skip more of+ ((Conid,c'):_) -> Just c'+ v -> debug v ("Conid "++c++" =>")+ v -> debug v ("Conid "++c++" no = or =>")+ ((Layout,"("):rest) -> case context rest of+ ((Keyglyph,"=>"):more) ->+ case skip more of+ ((Conid,c'):_) -> Just c'+ v -> debug v ("(...) =>")+ v -> debug v ("(...) no =>")+ v -> debug v ("no Conid or (...)")+ where debug (s:t) c = Nothing+ -- debug (s:t) c = error ("HsColour: getConid failed: "++show s+ -- ++"\n in the context of: "++c)++-- jump past possible class context+context stream@((Keyglyph,"="):_) = stream+context stream@((Keyglyph,"=>"):_) = stream+context (_:stream) = context stream++-- simple implementation of a string lookup table.+-- replace this with something more sophisticated if needed.+type ST = [String]++emptyST :: ST+emptyST = []++insertST :: String -> ST -> ST+insertST k st = insert k st++inST :: String -> ST -> Bool+inST k st = k `elem` st
+ Language/Haskell/HsColour/CSS.hs view
@@ -0,0 +1,65 @@+-- | Formats Haskell source code as HTML with CSS.+module Language.Haskell.HsColour.CSS (hscolour, hscolourFragment) where++import Language.Haskell.HsColour.Anchors+import Language.Haskell.HsColour.Classify as Classify+import Language.Haskell.HsColour.HTML (renderAnchors, renderComment, escape)++-- | Formats Haskell source code as a complete HTML document with CSS.+hscolour :: Bool -- ^ Whether to include anchors+ -> String -- ^ Haskell source code.+ -> String -- ^ An HTML document containing the coloured + -- Haskell source code.+hscolour anchor = top'n'tail . hscolourFragment anchor++-- | Formats Haskell source code as an HTML fragment with CSS.+-- No stylesheet link is included in the output.+hscolourFragment :: Bool -- ^ Whether to include anchors+ -> String -- ^ Haskell source code.+ -> String -- ^ An HTML fragment containing the coloured + -- Haskell source code.+hscolourFragment anchor = + pre . (if anchor + then concatMap (renderAnchors renderToken) . insertAnchors+ else concatMap renderToken) . tokenise++top'n'tail :: String -> String+top'n'tail = (cssPrefix++) . (++cssSuffix)++pre :: String -> String+pre = ("<pre>"++) . (++"</pre>")++renderToken :: (TokenType,String) -> String+renderToken (Space,text) = text+renderToken (cls,text) = "<span class='" ++ cssClass cls ++ "'>" +++ (if cls == Comment then renderComment text else escape text) +++ "</span>"++cssClass Keyword = "keyword"+cssClass Keyglyph = "keyglyph"+cssClass Layout = "layout"+cssClass Comment = "comment"+cssClass Conid = "conid"+cssClass Varid = "varid"+cssClass Conop = "conop"+cssClass Varop = "varop"+cssClass String = "str"+cssClass Char = "chr"+cssClass Number = "num"+cssClass Error = "sel"++cssPrefix = unlines+ ["<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"+ ,"<html>"+ ,"<head>"+ ,"<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->"+ ,"<title>Haskell Code by HsColour</title>"+ ,"<link type='text/css' rel='stylesheet' href='hscolour.css' />"+ ,"</head>"+ ,"<body>"+ ]+ +cssSuffix = unlines+ ["</body>"+ ,"</html>"+ ]
+ Language/Haskell/HsColour/Classify.hs view
@@ -0,0 +1,99 @@+module Language.Haskell.HsColour.Classify+ ( TokenType(..)+ , tokenise+ ) where++import Char+import List++-- Lex Haskell source code into an annotated token stream, without+-- discarding any characters or layout.+tokenise :: String -> [(TokenType,String)]+tokenise = map (\s-> (classify s,s)) . glue . chunk++-- Basic Haskell lexing, except we keep whitespace.+chunk :: String -> [String]+chunk [] = []+chunk ('\r':s) = chunk s -- get rid of DOS newline stuff+chunk ('\n':s) = "\n": chunk s+chunk (c:s) | isLinearSpace c+ = (c:ss): chunk rest where (ss,rest) = span isLinearSpace s+chunk ('{':'-':s) = let (com,s') = nestcomment 0 s+ in ('{':'-':com) : chunk s'+chunk s = case Prelude.lex s of+ [] -> [head s]: chunk (tail s) -- e.g. inside comment+ ((tok@('-':'-':_),rest):_)+ | all (=='-') tok -> (tok++com): chunk s'+ where (com,s') = eolcomment rest+ ((tok,rest):_) -> tok: chunk rest++isLinearSpace c = c `elem` " \t" -- " \t\xa0"++-- Glue sequences of tokens into more useful blobs+--glue (q:".":n:rest) | Char.isUpper (head q) -- qualified names+-- = glue ((q++"."++n): rest)+glue ("`":rest) = -- `varid` -> varop+ case glue rest of+ (qn:"`":rest) -> ("`"++qn++"`"): glue rest+ _ -> ("`": rest)+glue (s:ss) | all (=='-') s && length s >=2 -- eol comment+ = (s++concat c): glue rest+ where (c,rest) = break ('\n'`elem`) ss+--glue ("{":"-":ss) = ("{-"++c): glue rest -- nested comment+-- where (c,rest) = nestcomment 0 ss+glue (s:ss) = s: glue ss+glue [] = []++-- Deal with comments.+nestcomment :: Int -> String -> (String,String)+nestcomment n ('{':'-':ss) | n>=0 = (("{-"++cs),rm)+ where (cs,rm) = nestcomment (n+1) ss+nestcomment n ('-':'}':ss) | n>0 = (("-}"++cs),rm)+ where (cs,rm) = nestcomment (n-1) ss+nestcomment n ('-':'}':ss) | n==0 = ("-}",ss)+nestcomment n (s:ss) | n>=0 = ((s:cs),rm)+ where (cs,rm) = nestcomment n ss+nestcomment n [] = ([],[])++eolcomment :: String -> (String,String)+eolcomment s@('\n':_) = ([], s)+eolcomment (c:s) = (c:cs, s') where (cs,s') = eolcomment s+eolcomment [] = ([],[])++-- Classify tokens+data TokenType =+ Space | Keyword | Keyglyph | Layout | Comment | Conid | Varid |+ Conop | Varop | String | Char | Number | Error+ deriving (Eq,Show)++classify :: String -> TokenType+classify s@(h:_)+ | isSpace h = Space+ | all (=='-') s = Comment+ | "--" `isPrefixOf` s+ && any isSpace s = Comment -- not fully correct+ | "{-" `isPrefixOf` s = Comment+ | s `elem` keywords = Keyword+ | s `elem` keyglyphs = Keyglyph+ | s `elem` layoutchars = Layout+ | isUpper h = Conid+ | isLower h = Varid+ | h `elem` symbols = Varop+ | h==':' = Conop+ | h=='`' = Varop+ | h=='"' = String+ | h=='\'' = Char+ | isDigit h = Number+ | otherwise = Error++-- Haskell keywords+keywords =+ ["case","class","data","default","deriving","do","else"+ ,"if","import","in","infix","infixl","infixr","instance","let","module"+ ,"newtype","of","then","type","where","_","foreign","ccall","as"]+keyglyphs =+ ["..","::","=","\\","|","<-","->","@","~","=>","[","]"]+layoutchars =+ map (:[]) ";{}(),"+symbols =+ "!#$%&*+./<=>?@\\^|-~"
+ Language/Haskell/HsColour/ColourHighlight.hs view
@@ -0,0 +1,20 @@+module Language.Haskell.HsColour.ColourHighlight+ ( Colour(..)+ , Highlight(..)+ ) where++data Colour = Black | Red | Green | Yellow | Blue | Magenta | Cyan | White+ deriving (Eq,Show,Read,Enum)++data Highlight =+ Normal+ | Bold+ | Dim+ | Underscore+ | Blink+ | ReverseVideo+ | Concealed+ | Foreground Colour+ | Background Colour+ deriving (Eq,Show,Read)+
+ Language/Haskell/HsColour/Colourise.hs view
@@ -0,0 +1,64 @@+module Language.Haskell.HsColour.Colourise+ ( module Language.Haskell.HsColour.ColourHighlight+ , ColourPrefs(..)+ , readColourPrefs+ , colourise+ ) where++import Language.Haskell.HsColour.ColourHighlight+import Language.Haskell.HsColour.Classify (TokenType(..))++import System (getEnv)+import Char+import List++-- | Colour preferences.+data ColourPrefs = ColourPrefs+ { keyword, keyglyph, layout, comment+ , conid, varid, conop, varop+ , string, char, number+ , selection, variantselection :: [Highlight]+ } deriving (Eq,Show,Read)++defaultColourPrefs = ColourPrefs+ { keyword = [Foreground Green,Underscore]+ , keyglyph = [Foreground Red]+ , layout = [Foreground Cyan]+ , comment = [Foreground Blue]+ , conid = [Normal]+ , varid = [Normal]+ , conop = [Foreground Red,Bold]+ , varop = [Foreground Cyan]+ , string = [Foreground Magenta]+ , char = [Foreground Magenta]+ , number = [Foreground Magenta]+ , selection = [Bold, Foreground Magenta]+ , variantselection = [Dim, Foreground Red, Underscore]+ }++readColourPrefs :: IO ColourPrefs+readColourPrefs = catch+ (do val <- readFile ".hscolour"+ return (read val))+ (\e-> catch+ (do home <- getEnv "HOME"+ val <- readFile (home++"/.hscolour")+ return (read val))+ (\e-> return defaultColourPrefs))++-- Convert classification to colour highlights.+colourise :: ColourPrefs -> TokenType -> [Highlight]+colourise pref Space = [Normal]+colourise pref Comment = comment pref+colourise pref Keyword = keyword pref+colourise pref Keyglyph = keyglyph pref+colourise pref Layout = layout pref+colourise pref Conid = conid pref+colourise pref Varid = varid pref+colourise pref Conop = conop pref+colourise pref Varop = varop pref+colourise pref String = string pref+colourise pref Char = char pref+colourise pref Number = number pref+colourise pref Error = selection pref+
+ Language/Haskell/HsColour/HTML.hs view
@@ -0,0 +1,68 @@+-- | Formats Haskell source code using HTML with font tags.+module Language.Haskell.HsColour.HTML + (hscolour, + -- * Internals+ renderAnchors, renderComment, escape) where++import Language.Haskell.HsColour.Anchors+import Language.Haskell.HsColour.Classify as Classify+import Language.Haskell.HsColour.Colourise++import Data.Char(isAlphaNum)+++-- | Formats Haskell source code using HTML with font tags.+hscolour :: ColourPrefs -- ^ Colour preferences.+ -> Bool -- ^ Whether to include anchors+ -> String -- ^ Haskell source code.+ -> String -- ^ Coloured Haskell source code.+hscolour pref anchor = + top'n'tail . (if anchor then concatMap (renderAnchors (renderToken pref)) + . insertAnchors+ else concatMap (renderToken pref)) . tokenise++top'n'tail :: String -> String+top'n'tail = ("<pre>"++) . (++"</pre>")++renderToken :: ColourPrefs -> (TokenType,String) -> String+renderToken pref (t,s) = fontify (colourise pref t)+ (if t == Comment then renderComment s else escape s)++renderAnchors :: ((TokenType,String)->String)+ -> Either String (TokenType,String) -> String+renderAnchors _ (Left v) = "<a name=\""++v++"\"></a>"+renderAnchors render (Right r) = render r++-- if there are http://links/ in a comment, turn them into+-- hyperlinks+renderComment :: String -> String+renderComment xs@('h':'t':'t':'p':':':'/':'/':_) =+ renderLink a ++ renderComment b+ where+ -- see http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#characters+ isUrlChar x = isAlphaNum x || x `elem` ":/?#[]@!$&'()*+,;=-._~%"+ (a,b) = span isUrlChar xs+ renderLink link = "<a href=\"" ++ link ++ "\">" ++ escape link ++ "</a>"+ +renderComment (x:xs) = escape [x] ++ renderComment xs+renderComment [] = []++-- Html stuff+fontify [] s = s+fontify (h:hs) s = font h (fontify hs s)++font Normal s = s+font Bold s = "<b>"++s++"</b>"+font Dim s = "<em>"++s++"</em>"+font Underscore s = "<u>"++s++"</u>"+font Blink s = "<blink>"++s++"</blink>"+font ReverseVideo s = s+font Concealed s = s+font (Foreground c) s = "<font color="++show c++">"++s++"</font>"+font (Background c) s = "<font bgcolor="++show c++">"++s++"</font>"++escape ('<':cs) = "<"++escape cs+escape ('>':cs) = ">"++escape cs+escape ('&':cs) = "&"++escape cs+escape (c:cs) = c: escape cs+escape [] = []
+ Language/Haskell/HsColour/LaTeX.hs view
@@ -0,0 +1,111 @@+-- | Formats Haskell source code using LaTeX macros.+module Language.Haskell.HsColour.LaTeX (hscolour, hscolourFragment) where++import Language.Haskell.HsColour.Classify as Classify+import Language.Haskell.HsColour.Colourise++-- | Formats Haskell source code as a complete LaTeX document.+hscolour :: ColourPrefs -- ^ Colour preferences.+ -> String -- ^ Haskell source code.+ -> String -- ^ An LaTeX document containing the coloured + -- Haskell source code.+hscolour pref = top'n'tail . hscolourFragment pref++-- | Formats Haskell source code as an LaTeX fragment.+hscolourFragment :: ColourPrefs -- ^ Colour preferences.+ -> String -- ^ Haskell source code.+ -> String -- ^ An LaTeX fragment containing the coloured + -- Haskell source code.+hscolourFragment pref = concatMap (renderToken pref) . tokenise++top'n'tail :: String -> String+top'n'tail = (latexPrefix++) . (++latexSuffix)++-- | Wrap each lexeme in the appropriate LaTeX macro.+-- TODO: filter dangerous characters like "{}_$"+renderToken :: ColourPrefs -> (TokenType,String) -> String+renderToken pref (Space,text) = filterSpace text+renderToken pref (cls,text) = let + symb = case cls of+ String -> "``" ++ (reverse . tail . reverse . tail $ text) ++ "''"+ _ -> text+ style = colourise pref cls+ (pre, post) = unzip $ map latexHighlight style in+ (concat pre) ++ filterSpecial symb ++ (concat post) ++-- | Filter white space characters.+filterSpace :: String+ -> String+filterSpace ('\n':ss) = '\\':'\\':(filterSpace ss)+filterSpace (' ':ss) = "\\hsspace "++(filterSpace ss)+filterSpace ('\t':ss) = "\\hstab "++(filterSpace ss)+filterSpace (c:ss) = c:(filterSpace ss)+filterSpace [] = []++-- | Filters the characters "#$%&~_^\{}" which are special+-- in LaTeX.+filterSpecial :: String -- ^ The string to filter. + -> String -- ^ The LaTeX-safe string.+filterSpecial ('#':cs) = '\\':'#':(filterSpecial cs)+filterSpecial ('$':cs) = '\\':'$':(filterSpecial cs)+filterSpecial ('%':cs) = '\\':'%':(filterSpecial cs)+filterSpecial ('&':cs) = '\\':'&':(filterSpecial cs)+filterSpecial ('~':cs) = "\\tilde{ }"++(filterSpecial cs)+filterSpecial ('_':cs) = '\\':'_':(filterSpecial cs)+filterSpecial ('^':cs) = "\\hat{ }"++(filterSpecial cs)+filterSpecial ('\\':cs) = "$\\backslash$"++(filterSpecial cs)+filterSpecial ('{':cs) = '\\':'{':(filterSpecial cs)+filterSpecial ('}':cs) = '\\':'}':(filterSpecial cs)+filterSpecial ('|':cs) = "\\ensuremath{|}"++(filterSpecial cs)+filterSpecial ('<':'-':cs) = "\\ensuremath{\\leftarrow}"++(filterSpecial cs)+filterSpecial ('<':cs) = "\\ensuremath{\\langle}"++(filterSpecial cs)+filterSpecial ('-':'>':cs) = "\\ensuremath{\\rightarrow}"++(filterSpecial cs)+filterSpecial ('>':cs) = "\\ensuremath{\\rangle}"++(filterSpecial cs)+filterSpecial (c:cs) = c:(filterSpecial cs)+filterSpecial [] = []+++-- | Constructs the appropriate LaTeX macro for the given style.+latexHighlight :: Highlight -> (String, String)+latexHighlight Normal = ("{\\rm{}", "}")+latexHighlight Bold = ("{\\bf{}", "}")+latexHighlight Dim = ("", "")+latexHighlight Underscore = ("\\underline{", "}")+latexHighlight Blink = ("", "")+latexHighlight ReverseVideo = ("", "")+latexHighlight Concealed = ("\\conceal{", "}")+latexHighlight (Foreground c) = ("\\textcolor{"++ latexColour c ++"}{", "}")+latexHighlight (Background c) = ("\\colorbox{"++ latexColour c ++"}{", "}")++-- | Translate a 'Colour' into a LaTeX colour name.+latexColour :: Colour -> String+latexColour Black = "black"+latexColour Red = "red"+latexColour Green = "green"+latexColour Yellow = "yellow"+latexColour Blue = "blue"+latexColour Magenta = "magenta"+latexColour Cyan = "cyan"+latexColour White = "white"++-- | Generic LaTeX document preamble.+latexPrefix = unlines+ ["\\documentclass[a4paper, 12pt]{article}"+ ,"\\usepackage[usenames]{color}"+ ,"\\usepackage{hyperref}"+ ,"\\newsavebox{\\spaceb}"+ ,"\\newsavebox{\\tabb}"+ ,"\\savebox{\\spaceb}[1ex]{~}"+ ,"\\savebox{\\tabb}[4ex]{~}"+ ,"\\newcommand{\\hsspace}{\\usebox{\\spaceb}}"+ ,"\\newcommand{\\hstab}{\\usebox{\\tabb}}"+ ,"\\newcommand{\\conceal}[1]{}"+ ,"\\begin{document}"+ ,"\\noindent"+ ]++-- | Generic LaTeX document postamble.+latexSuffix = unlines+ [""+ ,"\\end{document}"+ ]
+ Language/Haskell/HsColour/TTY.hs view
@@ -0,0 +1,15 @@+-- | Highlights Haskell code with ANSI terminal codes.+module Language.Haskell.HsColour.TTY (hscolour) where++import Language.Haskell.HsColour.ANSI as ANSI+import Language.Haskell.HsColour.Classify+import Language.Haskell.HsColour.Colourise++-- | Highlights Haskell code with ANSI terminal codes.+hscolour :: ColourPrefs -- ^ Colour preferences.+ -> String -- ^ Haskell source code.+ -> String -- ^ Coloured Haskell source code.+hscolour pref = concatMap (renderToken pref) . tokenise++renderToken :: ColourPrefs -> (TokenType,String) -> String+renderToken pref (t,s) = ANSI.highlight (colourise pref t) s
+ Makefile view
@@ -0,0 +1,47 @@+LIBRARY = hscolour+VERSION = 1.6++DIRS = Language/Haskell/HsColour++SRCS = Language/Haskell/HsColour.hs \+ Language/Haskell/HsColour/ANSI.hs \+ Language/Haskell/HsColour/Anchors.hs \+ Language/Haskell/HsColour/CSS.hs \+ Language/Haskell/HsColour/Classify.hs \+ Language/Haskell/HsColour/ColourHighlight.hs \+ Language/Haskell/HsColour/Colourise.hs \+ Language/Haskell/HsColour/HTML.hs \+ Language/Haskell/HsColour/LaTeX.hs \+ Language/Haskell/HsColour/TTY.hs++AUX = README LICENCE* $(LIBRARY).cabal Setup.hs Makefile \+ HsColour.hs hscolour.css .hscolour \+ index.html docs/*++#all: $(LIBRARY)+executable: $(SRCS) HsColour.hs+ ghc --make HsColour+ mv a.out $(LIBRARY)+package:+ tar cf tmp.tar $(SRCS) $(AUX)+ mkdir $(LIBRARY)-$(VERSION)+ cd $(LIBRARY)-$(VERSION); tar xf ../tmp.tar+ tar zcf $(LIBRARY)-$(VERSION).tar.gz $(LIBRARY)-$(VERSION)+ zip -r $(LIBRARY)-$(VERSION).zip $(LIBRARY)-$(VERSION)+ rm -r tmp.tar $(LIBRARY)-$(VERSION)+haddock: $(SRCS)+ mkdir -p docs/$(LIBRARY)+ for dir in $(DIRS); do mkdir -p docs/$(LIBRARY)/$$dir; done+ for file in $(SRCS); \+ do HsColour -anchorHTML $$file \+ >docs/$(LIBRARY)/`dirname $$file`/`basename $$file .hs`.html;\+ done+ haddock --html --title=$(LIBRARY) --odir=docs/$(LIBRARY) \+ --package=$(LIBRARY) \+ --source-module="%{MODULE/.//}.html" \+ --source-entity="%{MODULE/.//}.html#%{NAME}" \+ $(SRCS)++$(LIBRARY): $(SRCS)+ $(HC) $(HFLAGS) $(HEAP) -o $@ $(SRCS)+ $(STRIP) $@
+ README view
@@ -0,0 +1,55 @@+HsColour: A Haskell source-code colouriser.+-------------------------------------------+Copyright: 2003-2006, Malcolm Wallace, University of York+Licence: GPL++Building:+ hmake HsColour+or+ ghc --make HsColour++Usage:+ HsColour [ -tty | -html | -css | -anchorHTML | -anchorCSS ] [file.hs]++The program can colourise a Haskell source file for either terminal+output (option -tty) or HTML output with font tags (option -html), or+HTML output with CSS (option -css). The default is for terminal output,+which uses standard ANSI screen codes for the colours.++If no file argument is given, it reads standard input. Output is+always written to standard output.++HsColour can add named anchors (with -anchorHTML or -anchorCSS) to+top-level definitions in the source file (functions, datatypes,+classes). This enables you to make links to a specific location in the+generated file with the standard "file.html#anchor" notation.++You can configure the colours for different lexical entities by+editing a configuration file called .hscolour in the current directory.+(An example is included in the distribution.) The file format is as+a simple Haskell value of type ColourPrefs, constructed using named+fields, as follows:++ data ColourPrefs = ColourPrefs+ { keyword, keyglyph, layout, comment+ , conid, varid, conop, varop+ , string, char, number+ , selection, variantselection :: [Highlight]+ }++ data Colour = Black | Red | Green | Yellow | Blue | Magenta | Cyan | White++ data Highlight =+ Normal+ | Bold+ | Dim+ | Underscore+ | Blink+ | ReverseVideo+ | Concealed+ | Foreground Colour+ | Background Colour++For CSS output, it is sufficient to edit the hscolour.css file, also in+the distribution.+
+ Setup.hs view
@@ -0,0 +1,4 @@+#!/usr/bin/env runghc++import Distribution.Simple+main = defaultMain
+ docs/hscolour/Language-Haskell-HsColour-ANSI.html view
@@ -0,0 +1,532 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>Language.Haskell.HsColour.ANSI</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+><SCRIPT SRC="haddock.js" TYPE="text/javascript"+></SCRIPT+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="Language/Haskell/HsColour/ANSI.html"+>Source code</A+></TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="modulebar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><FONT SIZE="6"+>Language.Haskell.HsColour.ANSI</FONT+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Documentation</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><A NAME="v%3Ahighlight"+></A+><B+>highlight</B+> :: [<A HREF="Language-Haskell-HsColour-ANSI.html#t%3AHighlight"+>Highlight</A+>] -> String -> String</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/ANSI.html#highlight"+>Source</A+></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%3Acls"+></A+><B+>cls</B+> :: String</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/ANSI.html#cls"+>Source</A+></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%3Agoto"+></A+><B+>goto</B+> :: Int -> Int -> String</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/ANSI.html#goto"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><SPAN CLASS="keyword"+>data</SPAN+> <A NAME="t%3AHighlight"+></A+><B+>Highlight</B+> </TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/ANSI.html#Highlight"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="section4"+>Constructors</TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="arg"+><A NAME="v%3ANormal"+></A+><B+>Normal</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ABold"+></A+><B+>Bold</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ADim"+></A+><B+>Dim</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AUnderscore"+></A+><B+>Underscore</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ABlink"+></A+><B+>Blink</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AReverseVideo"+></A+><B+>ReverseVideo</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AConcealed"+></A+><B+>Concealed</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AForeground"+></A+><B+>Foreground</B+> <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AColour"+>Colour</A+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ABackground"+></A+><B+>Background</B+> <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AColour"+>Colour</A+></TD+><TD CLASS="rdoc"+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section4"+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Highlight')" ALT="show/hide"+> Instances</TD+></TR+><TR+><TD CLASS="body"+><DIV ID="i:Highlight" STYLE="display:block;"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="decl"+>Enum <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AHighlight"+>Highlight</A+></TD+></TR+><TR+><TD CLASS="decl"+>Eq <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AHighlight"+>Highlight</A+></TD+></TR+><TR+><TD CLASS="decl"+>Read <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AHighlight"+>Highlight</A+></TD+></TR+><TR+><TD CLASS="decl"+>Show <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AHighlight"+>Highlight</A+></TD+></TR+></TABLE+></DIV+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><SPAN CLASS="keyword"+>data</SPAN+> <A NAME="t%3AColour"+></A+><B+>Colour</B+> </TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/ANSI.html#Colour"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="section4"+>Constructors</TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="arg"+><A NAME="v%3ABlack"+></A+><B+>Black</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ARed"+></A+><B+>Red</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AGreen"+></A+><B+>Green</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AYellow"+></A+><B+>Yellow</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ABlue"+></A+><B+>Blue</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AMagenta"+></A+><B+>Magenta</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ACyan"+></A+><B+>Cyan</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AWhite"+></A+><B+>White</B+></TD+><TD CLASS="rdoc"+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section4"+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Colour')" ALT="show/hide"+> Instances</TD+></TR+><TR+><TD CLASS="body"+><DIV ID="i:Colour" STYLE="display:block;"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="decl"+>Enum <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AColour"+>Colour</A+></TD+></TR+><TR+><TD CLASS="decl"+>Eq <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AColour"+>Colour</A+></TD+></TR+><TR+><TD CLASS="decl"+>Read <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AColour"+>Colour</A+></TD+></TR+><TR+><TD CLASS="decl"+>Show <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AColour"+>Colour</A+></TD+></TR+></TABLE+></DIV+></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%3AcolourCycle"+></A+><B+>colourCycle</B+> :: [<A HREF="Language-Haskell-HsColour-ANSI.html#t%3AColour"+>Colour</A+>]</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/ANSI.html#colourCycle"+>Source</A+></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%3AenableScrollRegion"+></A+><B+>enableScrollRegion</B+> :: Int -> Int -> String</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/ANSI.html#enableScrollRegion"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="botbar"+>Produced by <A HREF="http://www.haskell.org/haddock/"+>Haddock</A+> version 0.8</TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/Language-Haskell-HsColour-Anchors.html view
@@ -0,0 +1,155 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>Language.Haskell.HsColour.Anchors</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+><SCRIPT SRC="haddock.js" TYPE="text/javascript"+></SCRIPT+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="Language/Haskell/HsColour/Anchors.html"+>Source code</A+></TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="modulebar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><FONT SIZE="6"+>Language.Haskell.HsColour.Anchors</FONT+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Synopsis</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="decl"+><A HREF="#v%3AinsertAnchors"+>insertAnchors</A+> :: [(<A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+>, String)] -> [Either Anchor (<A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+>, String)]</TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Documentation</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><A NAME="v%3AinsertAnchors"+></A+><B+>insertAnchors</B+> :: [(<A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+>, String)] -> [Either Anchor (<A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+>, String)]</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/Anchors.html#insertAnchors"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="doc"+><TT+><A HREF="Language-Haskell-HsColour-Anchors.html#v%3AinsertAnchors"+>insertAnchors</A+></TT+> places an anchor marker in the token stream before the+ first defining occurrence of any identifier. Here, <EM+>before</EM+> means+ immediately preceding its type signature, or preceding a (haddock)+ comment that comes immediately before the type signature, or failing+ either of those, before the first equation.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="botbar"+>Produced by <A HREF="http://www.haskell.org/haddock/"+>Haddock</A+> version 0.8</TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/Language-Haskell-HsColour-CSS.html view
@@ -0,0 +1,240 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>Language.Haskell.HsColour.CSS</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+><SCRIPT SRC="haddock.js" TYPE="text/javascript"+></SCRIPT+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="Language/Haskell/HsColour/CSS.html"+>Source code</A+></TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="modulebar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><FONT SIZE="6"+>Language.Haskell.HsColour.CSS</FONT+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Description</TD+></TR+><TR+><TD CLASS="doc"+>Formats Haskell source code as HTML with CSS.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Synopsis</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="decl"+><A HREF="#v%3Ahscolour"+>hscolour</A+> :: Bool -> String -> String</TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3AhscolourFragment"+>hscolourFragment</A+> :: Bool -> String -> String</TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Documentation</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><A NAME="v%3Ahscolour"+></A+><B+>hscolour</B+></TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/CSS.html#hscolour"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="arg"+>:: Bool</TD+><TD CLASS="rdoc"+>Whether to include anchors+</TD+></TR+><TR+><TD CLASS="arg"+>-> String</TD+><TD CLASS="rdoc"+>Haskell source code.+</TD+></TR+><TR+><TD CLASS="arg"+>-> String</TD+><TD CLASS="rdoc"+>An HTML document containing the coloured + Haskell source code.+</TD+></TR+><TR+><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%3AhscolourFragment"+></A+><B+>hscolourFragment</B+></TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/CSS.html#hscolourFragment"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="arg"+>:: Bool</TD+><TD CLASS="rdoc"+>Whether to include anchors+</TD+></TR+><TR+><TD CLASS="arg"+>-> String</TD+><TD CLASS="rdoc"+>Haskell source code.+</TD+></TR+><TR+><TD CLASS="arg"+>-> String</TD+><TD CLASS="rdoc"+>An HTML fragment containing the coloured + Haskell source code.+</TD+></TR+><TR+><TD CLASS="ndoc" COLSPAN="2"+>Formats Haskell source code as an HTML fragment with CSS.+ No stylesheet link is included in the output.+</TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="botbar"+>Produced by <A HREF="http://www.haskell.org/haddock/"+>Haddock</A+> version 0.8</TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/Language-Haskell-HsColour-Classify.html view
@@ -0,0 +1,309 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>Language.Haskell.HsColour.Classify</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+><SCRIPT SRC="haddock.js" TYPE="text/javascript"+></SCRIPT+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="Language/Haskell/HsColour/Classify.html"+>Source code</A+></TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="modulebar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><FONT SIZE="6"+>Language.Haskell.HsColour.Classify</FONT+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Documentation</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><SPAN CLASS="keyword"+>data</SPAN+> <A NAME="t%3ATokenType"+></A+><B+>TokenType</B+> </TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/Classify.html#TokenType"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="section4"+>Constructors</TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="arg"+><A NAME="v%3ASpace"+></A+><B+>Space</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AKeyword"+></A+><B+>Keyword</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AKeyglyph"+></A+><B+>Keyglyph</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ALayout"+></A+><B+>Layout</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AComment"+></A+><B+>Comment</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AConid"+></A+><B+>Conid</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AVarid"+></A+><B+>Varid</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AConop"+></A+><B+>Conop</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AVarop"+></A+><B+>Varop</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AString"+></A+><B+>String</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AChar"+></A+><B+>Char</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ANumber"+></A+><B+>Number</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AError"+></A+><B+>Error</B+></TD+><TD CLASS="rdoc"+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section4"+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:TokenType')" ALT="show/hide"+> Instances</TD+></TR+><TR+><TD CLASS="body"+><DIV ID="i:TokenType" STYLE="display:block;"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="decl"+>Eq <A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+></TD+></TR+><TR+><TD CLASS="decl"+>Show <A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+></TD+></TR+></TABLE+></DIV+></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%3Atokenise"+></A+><B+>tokenise</B+> :: String -> [(<A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+>, String)]</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/Classify.html#tokenise"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="botbar"+>Produced by <A HREF="http://www.haskell.org/haddock/"+>Haddock</A+> version 0.8</TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/Language-Haskell-HsColour-ColourHighlight.html view
@@ -0,0 +1,418 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>Language.Haskell.HsColour.ColourHighlight</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+><SCRIPT SRC="haddock.js" TYPE="text/javascript"+></SCRIPT+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="Language/Haskell/HsColour/ColourHighlight.html"+>Source code</A+></TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="modulebar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><FONT SIZE="6"+>Language.Haskell.HsColour.ColourHighlight</FONT+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Documentation</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><SPAN CLASS="keyword"+>data</SPAN+> <A NAME="t%3AColour"+></A+><B+>Colour</B+> </TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/ColourHighlight.html#Colour"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="section4"+>Constructors</TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="arg"+><A NAME="v%3ABlack"+></A+><B+>Black</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ARed"+></A+><B+>Red</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AGreen"+></A+><B+>Green</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AYellow"+></A+><B+>Yellow</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ABlue"+></A+><B+>Blue</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AMagenta"+></A+><B+>Magenta</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ACyan"+></A+><B+>Cyan</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AWhite"+></A+><B+>White</B+></TD+><TD CLASS="rdoc"+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section4"+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Colour')" ALT="show/hide"+> Instances</TD+></TR+><TR+><TD CLASS="body"+><DIV ID="i:Colour" STYLE="display:block;"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="decl"+>Enum <A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AColour"+>Colour</A+></TD+></TR+><TR+><TD CLASS="decl"+>Eq <A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AColour"+>Colour</A+></TD+></TR+><TR+><TD CLASS="decl"+>Read <A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AColour"+>Colour</A+></TD+></TR+><TR+><TD CLASS="decl"+>Show <A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AColour"+>Colour</A+></TD+></TR+></TABLE+></DIV+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><SPAN CLASS="keyword"+>data</SPAN+> <A NAME="t%3AHighlight"+></A+><B+>Highlight</B+> </TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/ColourHighlight.html#Highlight"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="section4"+>Constructors</TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="arg"+><A NAME="v%3ANormal"+></A+><B+>Normal</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ABold"+></A+><B+>Bold</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ADim"+></A+><B+>Dim</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AUnderscore"+></A+><B+>Underscore</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ABlink"+></A+><B+>Blink</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AReverseVideo"+></A+><B+>ReverseVideo</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AConcealed"+></A+><B+>Concealed</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AForeground"+></A+><B+>Foreground</B+> <A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AColour"+>Colour</A+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ABackground"+></A+><B+>Background</B+> <A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AColour"+>Colour</A+></TD+><TD CLASS="rdoc"+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section4"+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Highlight')" ALT="show/hide"+> Instances</TD+></TR+><TR+><TD CLASS="body"+><DIV ID="i:Highlight" STYLE="display:block;"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="decl"+>Enum <A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AHighlight"+>Highlight</A+></TD+></TR+><TR+><TD CLASS="decl"+>Eq <A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AHighlight"+>Highlight</A+></TD+></TR+><TR+><TD CLASS="decl"+>Read <A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AHighlight"+>Highlight</A+></TD+></TR+><TR+><TD CLASS="decl"+>Show <A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AHighlight"+>Highlight</A+></TD+></TR+></TABLE+></DIV+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="botbar"+>Produced by <A HREF="http://www.haskell.org/haddock/"+>Haddock</A+> version 0.8</TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/Language-Haskell-HsColour-Colourise.html view
@@ -0,0 +1,400 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>Language.Haskell.HsColour.Colourise</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+><SCRIPT SRC="haddock.js" TYPE="text/javascript"+></SCRIPT+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="Language/Haskell/HsColour/Colourise.html"+>Source code</A+></TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="modulebar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><FONT SIZE="6"+>Language.Haskell.HsColour.Colourise</FONT+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Synopsis</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="decl"+>module <A HREF="Language-Haskell-HsColour-ColourHighlight.html"+>Language.Haskell.HsColour.ColourHighlight</A+></TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><SPAN CLASS="keyword"+>data</SPAN+> <A HREF="#t%3AColourPrefs"+>ColourPrefs</A+> = <A HREF="#v%3AColourPrefs"+>ColourPrefs</A+> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="recfield"+><A HREF="#v%3Akeyword"+>keyword</A+>, <A HREF="#v%3Akeyglyph"+>keyglyph</A+>, <A HREF="#v%3Alayout"+>layout</A+>, <A HREF="#v%3Acomment"+>comment</A+>, <A HREF="#v%3Aconid"+>conid</A+>, <A HREF="#v%3Avarid"+>varid</A+>, <A HREF="#v%3Aconop"+>conop</A+>, <A HREF="#v%3Avarop"+>varop</A+>, <A HREF="#v%3Astring"+>string</A+>, <A HREF="#v%3Achar"+>char</A+>, <A HREF="#v%3Anumber"+>number</A+>, <A HREF="#v%3Aselection"+>selection</A+>, <A HREF="#v%3Avariantselection"+>variantselection</A+> :: [<A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AHighlight"+>Highlight</A+>]</TD+></TR+></TABLE+>}</TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3AreadColourPrefs"+>readColourPrefs</A+> :: IO <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>ColourPrefs</A+></TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3Acolourise"+>colourise</A+> :: <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>ColourPrefs</A+> -> <A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+> -> [<A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AHighlight"+>Highlight</A+>]</TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Documentation</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="decl"+>module <A HREF="Language-Haskell-HsColour-ColourHighlight.html"+>Language.Haskell.HsColour.ColourHighlight</A+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><SPAN CLASS="keyword"+>data</SPAN+> <A NAME="t%3AColourPrefs"+></A+><B+>ColourPrefs</B+> </TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/Colourise.html#ColourPrefs"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="ndoc"+>Colour preferences.+</TD+></TR+><TR+><TD CLASS="section4"+>Constructors</TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"+><TR+><TD CLASS="arg"+><A NAME="v%3AColourPrefs"+></A+><B+>ColourPrefs</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="body" COLSPAN="2"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="arg"+><A NAME="v%3Akeyword"+></A+><B+>keyword</B+>, <A NAME="v%3Akeyglyph"+></A+><B+>keyglyph</B+>, <A NAME="v%3Alayout"+></A+><B+>layout</B+>, <A NAME="v%3Acomment"+></A+><B+>comment</B+>, <A NAME="v%3Aconid"+></A+><B+>conid</B+>, <A NAME="v%3Avarid"+></A+><B+>varid</B+>, <A NAME="v%3Aconop"+></A+><B+>conop</B+>, <A NAME="v%3Avarop"+></A+><B+>varop</B+>, <A NAME="v%3Astring"+></A+><B+>string</B+>, <A NAME="v%3Achar"+></A+><B+>char</B+>, <A NAME="v%3Anumber"+></A+><B+>number</B+>, <A NAME="v%3Aselection"+></A+><B+>selection</B+>, <A NAME="v%3Avariantselection"+></A+><B+>variantselection</B+> :: [<A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AHighlight"+>Highlight</A+>]</TD+><TD CLASS="rdoc"+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section4"+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ColourPrefs')" ALT="show/hide"+> Instances</TD+></TR+><TR+><TD CLASS="body"+><DIV ID="i:ColourPrefs" STYLE="display:block;"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="decl"+>Eq <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>ColourPrefs</A+></TD+></TR+><TR+><TD CLASS="decl"+>Read <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>ColourPrefs</A+></TD+></TR+><TR+><TD CLASS="decl"+>Show <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>ColourPrefs</A+></TD+></TR+></TABLE+></DIV+></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%3AreadColourPrefs"+></A+><B+>readColourPrefs</B+> :: IO <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>ColourPrefs</A+></TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/Colourise.html#readColourPrefs"+>Source</A+></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%3Acolourise"+></A+><B+>colourise</B+> :: <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>ColourPrefs</A+> -> <A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+> -> [<A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AHighlight"+>Highlight</A+>]</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/Colourise.html#colourise"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="botbar"+>Produced by <A HREF="http://www.haskell.org/haddock/"+>Haddock</A+> version 0.8</TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/Language-Haskell-HsColour-HTML.html view
@@ -0,0 +1,284 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>Language.Haskell.HsColour.HTML</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+><SCRIPT SRC="haddock.js" TYPE="text/javascript"+></SCRIPT+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="Language/Haskell/HsColour/HTML.html"+>Source code</A+></TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="modulebar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><FONT SIZE="6"+>Language.Haskell.HsColour.HTML</FONT+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="section4"+><B+>Contents</B+></TD+></TR+><TR+><TD+><DL+><DT+><A HREF="#1"+>Internals+</A+></DT+></DL+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Description</TD+></TR+><TR+><TD CLASS="doc"+>Formats Haskell source code using HTML with font tags.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Synopsis</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="decl"+><A HREF="#v%3Ahscolour"+>hscolour</A+> :: <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>ColourPrefs</A+> -> Bool -> String -> 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"+>TokenType</A+>, String) -> String) -> Either String (<A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+>, String) -> String</TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3ArenderComment"+>renderComment</A+> :: String -> String</TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Documentation</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><A NAME="v%3Ahscolour"+></A+><B+>hscolour</B+></TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/HTML.html#hscolour"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="arg"+>:: <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>ColourPrefs</A+></TD+><TD CLASS="rdoc"+>Colour preferences.+</TD+></TR+><TR+><TD CLASS="arg"+>-> Bool</TD+><TD CLASS="rdoc"+>Whether to include anchors+</TD+></TR+><TR+><TD CLASS="arg"+>-> String</TD+><TD CLASS="rdoc"+>Haskell source code.+</TD+></TR+><TR+><TD CLASS="arg"+>-> String</TD+><TD CLASS="rdoc"+>Coloured Haskell source code.+</TD+></TR+><TR+><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="section1"+><A NAME="1"+>Internals+</A+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><A NAME="v%3ArenderAnchors"+></A+><B+>renderAnchors</B+> :: ((<A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+>, String) -> String) -> Either String (<A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>TokenType</A+>, String) -> String</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/HTML.html#renderAnchors"+>Source</A+></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%3ArenderComment"+></A+><B+>renderComment</B+> :: String -> String</TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/HTML.html#renderComment"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="botbar"+>Produced by <A HREF="http://www.haskell.org/haddock/"+>Haddock</A+> version 0.8</TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/Language-Haskell-HsColour-TTY.html view
@@ -0,0 +1,177 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>Language.Haskell.HsColour.TTY</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+><SCRIPT SRC="haddock.js" TYPE="text/javascript"+></SCRIPT+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="Language/Haskell/HsColour/TTY.html"+>Source code</A+></TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="modulebar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><FONT SIZE="6"+>Language.Haskell.HsColour.TTY</FONT+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Description</TD+></TR+><TR+><TD CLASS="doc"+>Highlights Haskell code with ANSI terminal codes.+</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Synopsis</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="decl"+><A HREF="#v%3Ahscolour"+>hscolour</A+> :: <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>ColourPrefs</A+> -> String -> String</TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Documentation</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><A NAME="v%3Ahscolour"+></A+><B+>hscolour</B+></TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour/TTY.html#hscolour"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="arg"+>:: <A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>ColourPrefs</A+></TD+><TD CLASS="rdoc"+>Colour preferences.+</TD+></TR+><TR+><TD CLASS="arg"+>-> String</TD+><TD CLASS="rdoc"+>Haskell source code.+</TD+></TR+><TR+><TD CLASS="arg"+>-> String</TD+><TD CLASS="rdoc"+>Coloured Haskell source code.+</TD+></TR+><TR+><TD CLASS="ndoc" COLSPAN="2"+>Highlights Haskell code with ANSI terminal codes.+</TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="botbar"+>Produced by <A HREF="http://www.haskell.org/haddock/"+>Haddock</A+> version 0.8</TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/Language-Haskell-HsColour.html view
@@ -0,0 +1,549 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>Language.Haskell.HsColour</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+><SCRIPT SRC="haddock.js" TYPE="text/javascript"+></SCRIPT+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="Language/Haskell/HsColour.html"+>Source code</A+></TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="modulebar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><FONT SIZE="6"+>Language.Haskell.HsColour</FONT+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Description</TD+></TR+><TR+><TD CLASS="doc"+><P+>This is a library with colourises Haskell code. + It currently has three output formats: +</P+><UL+><LI+> ANSI terminal codes+</LI+><LI+> LaTeX macros+</LI+><LI+> HTML with font tags+</LI+><LI+> HTML with CSS.+</LI+></UL+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Synopsis</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="decl"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="decl"+><SPAN CLASS="keyword"+>data</SPAN+> <A HREF="#t%3AOutput"+>Output</A+> </TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="decl"+>= <A HREF="#v%3ATTY"+>TTY</A+></TD+></TR+><TR+><TD CLASS="decl"+>| <A HREF="#v%3ALaTeX"+>LaTeX</A+></TD+></TR+><TR+><TD CLASS="decl"+>| <A HREF="#v%3AHTML"+>HTML</A+></TD+></TR+><TR+><TD CLASS="decl"+>| <A HREF="#v%3ACSS"+>CSS</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><SPAN CLASS="keyword"+>data</SPAN+> <A HREF="#t%3AColourPrefs"+>ColourPrefs</A+> = <A HREF="#v%3AColourPrefs"+>ColourPrefs</A+> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="recfield"+><A HREF="#v%3Akeyword"+>keyword</A+>, <A HREF="#v%3Akeyglyph"+>keyglyph</A+>, <A HREF="#v%3Alayout"+>layout</A+>, <A HREF="#v%3Acomment"+>comment</A+>, <A HREF="#v%3Aconid"+>conid</A+>, <A HREF="#v%3Avarid"+>varid</A+>, <A HREF="#v%3Aconop"+>conop</A+>, <A HREF="#v%3Avarop"+>varop</A+>, <A HREF="#v%3Astring"+>string</A+>, <A HREF="#v%3Achar"+>char</A+>, <A HREF="#v%3Anumber"+>number</A+>, <A HREF="#v%3Aselection"+>selection</A+>, <A HREF="#v%3Avariantselection"+>variantselection</A+> :: [<A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AHighlight"+>Highlight</A+>]</TD+></TR+></TABLE+>}</TD+></TR+><TR+><TD CLASS="s8"+></TD+></TR+><TR+><TD CLASS="decl"+><A HREF="#v%3Ahscolour"+>hscolour</A+> :: <A HREF="Language-Haskell-HsColour.html#t%3AOutput"+>Output</A+> -> <A HREF="Language-Haskell-HsColour.html#t%3AColourPrefs"+>ColourPrefs</A+> -> Bool -> String -> String</TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="section1"+>Documentation</TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><SPAN CLASS="keyword"+>data</SPAN+> <A NAME="t%3AOutput"+></A+><B+>Output</B+> </TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour.html#Output"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="ndoc"+>The supported output formats.+</TD+></TR+><TR+><TD CLASS="section4"+>Constructors</TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="arg"+><A NAME="v%3ATTY"+></A+><B+>TTY</B+></TD+><TD CLASS="rdoc"+>ANSI terminal codes+</TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ALaTeX"+></A+><B+>LaTeX</B+></TD+><TD CLASS="rdoc"+>TeX macros+</TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3AHTML"+></A+><B+>HTML</B+></TD+><TD CLASS="rdoc"+>HTML with font tags+</TD+></TR+><TR+><TD CLASS="arg"+><A NAME="v%3ACSS"+></A+><B+>CSS</B+></TD+><TD CLASS="rdoc"+>HTML with CSS.+</TD+></TR+></TABLE+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="topdecl"+><TABLE CLASS="declbar"+><TR+><TD CLASS="declname"+><SPAN CLASS="keyword"+>data</SPAN+> <A NAME="t%3AColourPrefs"+></A+><B+>ColourPrefs</B+> </TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour.html#ColourPrefs"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="ndoc"+>Colour preferences.+</TD+></TR+><TR+><TD CLASS="section4"+>Constructors</TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"+><TR+><TD CLASS="arg"+><A NAME="v%3AColourPrefs"+></A+><B+>ColourPrefs</B+></TD+><TD CLASS="rdoc"+></TD+></TR+><TR+><TD CLASS="body" COLSPAN="2"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="arg"+><A NAME="v%3Akeyword"+></A+><B+>keyword</B+>, <A NAME="v%3Akeyglyph"+></A+><B+>keyglyph</B+>, <A NAME="v%3Alayout"+></A+><B+>layout</B+>, <A NAME="v%3Acomment"+></A+><B+>comment</B+>, <A NAME="v%3Aconid"+></A+><B+>conid</B+>, <A NAME="v%3Avarid"+></A+><B+>varid</B+>, <A NAME="v%3Aconop"+></A+><B+>conop</B+>, <A NAME="v%3Avarop"+></A+><B+>varop</B+>, <A NAME="v%3Astring"+></A+><B+>string</B+>, <A NAME="v%3Achar"+></A+><B+>char</B+>, <A NAME="v%3Anumber"+></A+><B+>number</B+>, <A NAME="v%3Aselection"+></A+><B+>selection</B+>, <A NAME="v%3Avariantselection"+></A+><B+>variantselection</B+> :: [<A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AHighlight"+>Highlight</A+>]</TD+><TD CLASS="rdoc"+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section4"+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ColourPrefs')" ALT="show/hide"+> Instances</TD+></TR+><TR+><TD CLASS="body"+><DIV ID="i:ColourPrefs" STYLE="display:block;"+><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"+><TR+><TD CLASS="decl"+>Eq <A HREF="Language-Haskell-HsColour.html#t%3AColourPrefs"+>ColourPrefs</A+></TD+></TR+><TR+><TD CLASS="decl"+>Read <A HREF="Language-Haskell-HsColour.html#t%3AColourPrefs"+>ColourPrefs</A+></TD+></TR+><TR+><TD CLASS="decl"+>Show <A HREF="Language-Haskell-HsColour.html#t%3AColourPrefs"+>ColourPrefs</A+></TD+></TR+></TABLE+></DIV+></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%3Ahscolour"+></A+><B+>hscolour</B+></TD+><TD CLASS="declbut"+><A HREF="Language/Haskell/HsColour.html#hscolour"+>Source</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="body"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="arg"+>:: <A HREF="Language-Haskell-HsColour.html#t%3AOutput"+>Output</A+></TD+><TD CLASS="rdoc"+>Output format.+</TD+></TR+><TR+><TD CLASS="arg"+>-> <A HREF="Language-Haskell-HsColour.html#t%3AColourPrefs"+>ColourPrefs</A+></TD+><TD CLASS="rdoc"+>Colour preferences for formats that support it.+</TD+></TR+><TR+><TD CLASS="arg"+>-> Bool</TD+><TD CLASS="rdoc"+>Whether to include anchors.+</TD+></TR+><TR+><TD CLASS="arg"+>-> String</TD+><TD CLASS="rdoc"+>Haskell source code.+</TD+></TR+><TR+><TD CLASS="arg"+>-> String</TD+><TD CLASS="rdoc"+>Coloured Haskell source code.+</TD+></TR+><TR+><TD CLASS="ndoc" COLSPAN="2"+>Colourise Haskell source code with the give output format.+</TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="botbar"+>Produced by <A HREF="http://www.haskell.org/haddock/"+>Haddock</A+> version 0.8</TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/Language/Haskell/HsColour.html view
@@ -0,0 +1,37 @@+<pre><font color=Blue>-- | This is a library with colourises Haskell code. </font>+<font color=Blue>-- It currently has three output formats: </font>+<font color=Blue>--</font>+<font color=Blue>-- * ANSI terminal codes</font>+<font color=Blue>--</font>+<font color=Blue>-- * LaTeX macros</font>+<font color=Blue>--</font>+<font color=Blue>-- * HTML with font tags</font>+<font color=Blue>--</font>+<font color=Blue>-- * HTML with CSS.</font>+<font color=Blue>--</font>+<u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour <font color=Cyan>(</font>Output<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font> ColourPrefs<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>,</font>+ hscolour<font color=Cyan>)</font> <u><font color=Green>where</font></u>++<u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Colourise <font color=Cyan>(</font>ColourPrefs<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>)</font>+<u><font color=Green>import</font></u> qualified Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>TTY <u><font color=Green>as</font></u> TTY+<u><font color=Green>import</font></u> qualified Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>HTML <u><font color=Green>as</font></u> HTML+<u><font color=Green>import</font></u> qualified Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>CSS <u><font color=Green>as</font></u> CSS+<u><font color=Green>import</font></u> qualified Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>LaTeX <u><font color=Green>as</font></u> LaTeX++<font color=Blue>-- | The supported output formats.</font>+<a name="Output"></a><u><font color=Green>data</font></u> Output <font color=Red>=</font> TTY <font color=Blue>-- ^ ANSI terminal codes</font>+ <font color=Red>|</font> LaTeX <font color=Blue>-- ^ TeX macros</font>+ <font color=Red>|</font> HTML <font color=Blue>-- ^ HTML with font tags</font>+ <font color=Red>|</font> CSS <font color=Blue>-- ^ HTML with CSS.</font>++<font color=Blue>-- | Colourise Haskell source code with the give output format.</font>+hscolour <font color=Red>::</font> Output <font color=Blue>-- ^ Output format.</font>+ <font color=Red>-></font> ColourPrefs <font color=Blue>-- ^ Colour preferences for formats that support it.</font>+ <font color=Red>-></font> Bool <font color=Blue>-- ^ Whether to include anchors.</font>+ <font color=Red>-></font> String <font color=Blue>-- ^ Haskell source code.</font>+ <font color=Red>-></font> String <font color=Blue>-- ^ Coloured Haskell source code.</font>+<a name="hscolour"></a>hscolour TTY pref <u><font color=Green>_</font></u> <font color=Red>=</font> TTY<font color=Cyan>.</font>hscolour pref+hscolour LaTeX pref <u><font color=Green>_</font></u> <font color=Red>=</font> LaTeX<font color=Cyan>.</font>hscolour pref+hscolour HTML pref anchor <font color=Red>=</font> HTML<font color=Cyan>.</font>hscolour pref anchor+hscolour CSS <u><font color=Green>_</font></u> anchor <font color=Red>=</font> CSS<font color=Cyan>.</font>hscolour anchor+</pre>
+ docs/hscolour/Language/Haskell/HsColour/ANSI.html view
@@ -0,0 +1,94 @@+<pre><font color=Blue>-- Partially taken from Hugs AnsiScreen.hs library:</font>+<u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>ANSI+ <font color=Cyan>(</font> highlightOn+ <font color=Cyan>,</font> highlightOff+ <font color=Cyan>,</font> highlight+ <font color=Cyan>,</font> cleareol<font color=Cyan>,</font> clearbol<font color=Cyan>,</font> clearline<font color=Cyan>,</font> clearDown<font color=Cyan>,</font> clearUp<font color=Cyan>,</font> cls+ <font color=Cyan>,</font> goto+ <font color=Cyan>,</font> cursorUp<font color=Cyan>,</font> cursorDown<font color=Cyan>,</font> cursorLeft<font color=Cyan>,</font> cursorRight+ <font color=Cyan>,</font> savePosition<font color=Cyan>,</font> restorePosition+ <font color=Cyan>,</font> Highlight<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>+ <font color=Cyan>,</font> Colour<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>+ <font color=Cyan>,</font> colourCycle+ <font color=Cyan>,</font> enableScrollRegion<font color=Cyan>,</font> scrollUp<font color=Cyan>,</font> scrollDown+ <font color=Cyan>,</font> lineWrap+ <font color=Cyan>)</font> <u><font color=Green>where</font></u>++<u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>ColourHighlight++<u><font color=Green>import</font></u> List <font color=Cyan>(</font>intersperse<font color=Cyan>,</font>isPrefixOf<font color=Cyan>)</font>+<u><font color=Green>import</font></u> Char <font color=Cyan>(</font>isDigit<font color=Cyan>)</font>+++<font color=Blue>-- Basic screen control codes:</font>++<a name="Pos"></a><u><font color=Green>type</font></u> Pos <font color=Red>=</font> <font color=Cyan>(</font>Int<font color=Cyan>,</font>Int<font color=Cyan>)</font>++at <font color=Red>::</font> Pos <font color=Red>-></font> String <font color=Red>-></font> String+goto <font color=Red>::</font> Int <font color=Red>-></font> Int <font color=Red>-></font> String+home <font color=Red>::</font> String+cls <font color=Red>::</font> String++<a name="at"></a>at <font color=Cyan>(</font>x<font color=Cyan>,</font>y<font color=Cyan>)</font> s <font color=Red>=</font> goto x y <font color=Cyan>++</font> s+<a name="goto"></a>goto x y <font color=Red>=</font> <font color=Magenta>'\ESC'</font><b><font color=Red>:</font></b><font color=Magenta>'['</font><b><font color=Red>:</font></b><font color=Cyan>(</font>show y <font color=Cyan>++</font><font color=Cyan>(</font><font color=Magenta>';'</font><b><font color=Red>:</font></b>show x <font color=Cyan>++</font> <font color=Magenta>"H"</font><font color=Cyan>)</font><font color=Cyan>)</font>+<a name="home"></a>home <font color=Red>=</font> goto <font color=Magenta>1</font> <font color=Magenta>1</font>++<a name="cursorUp"></a>cursorUp <font color=Red>=</font> <font color=Magenta>"\ESC[A"</font>+<a name="cursorDown"></a>cursorDown <font color=Red>=</font> <font color=Magenta>"\ESC[B"</font>+<a name="cursorRight"></a>cursorRight <font color=Red>=</font> <font color=Magenta>"\ESC[C"</font>+<a name="cursorLeft"></a>cursorLeft <font color=Red>=</font> <font color=Magenta>"\ESC[D"</font>++<a name="cleareol"></a>cleareol <font color=Red>=</font> <font color=Magenta>"\ESC[K"</font>+<a name="clearbol"></a>clearbol <font color=Red>=</font> <font color=Magenta>"\ESC[1K"</font>+<a name="clearline"></a>clearline <font color=Red>=</font> <font color=Magenta>"\ESC[2K"</font>+<a name="clearDown"></a>clearDown <font color=Red>=</font> <font color=Magenta>"\ESC[J"</font>+<a name="clearUp"></a>clearUp <font color=Red>=</font> <font color=Magenta>"\ESC[1J"</font>+<font color=Blue>-- Choose whichever of the following lines is suitable for your system:</font>+<a name="cls"></a>cls <font color=Red>=</font> <font color=Magenta>"\ESC[2J"</font> <font color=Blue>-- for PC with ANSI.SYS</font>+<font color=Blue>--cls = "\^L" -- for Sun window</font>++<a name="savePosition"></a>savePosition <font color=Red>=</font> <font color=Magenta>"\ESC7"</font>+<a name="restorePosition"></a>restorePosition <font color=Red>=</font> <font color=Magenta>"\ESC8"</font>+++<font color=Blue>-- data Colour -- imported from ColourHighlight</font>+<font color=Blue>-- data Highlight -- imported from ColourHighlight</font>++<u><font color=Green>instance</font></u> Enum Highlight <u><font color=Green>where</font></u>+ fromEnum Normal <font color=Red>=</font> <font color=Magenta>0</font>+ fromEnum Bold <font color=Red>=</font> <font color=Magenta>1</font>+ fromEnum Dim <font color=Red>=</font> <font color=Magenta>2</font>+ fromEnum Underscore <font color=Red>=</font> <font color=Magenta>4</font>+ fromEnum Blink <font color=Red>=</font> <font color=Magenta>5</font>+ fromEnum ReverseVideo <font color=Red>=</font> <font color=Magenta>7</font>+ fromEnum Concealed <font color=Red>=</font> <font color=Magenta>8</font>+ fromEnum <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>30</font> <font color=Cyan>+</font> fromEnum c+ fromEnum <font color=Cyan>(</font>Background c<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>40</font> <font color=Cyan>+</font> fromEnum c++highlight <font color=Red>::</font> <font color=Red>[</font>Highlight<font color=Red>]</font> <font color=Red>-></font> String <font color=Red>-></font> String+<a name="highlight"></a>highlight attrs s <font color=Red>=</font> highlightOn attrs <font color=Cyan>++</font> s <font color=Cyan>++</font> highlightOff++<a name="highlightOn"></a>highlightOn <font color=Red>[</font><font color=Red>]</font> <font color=Red>=</font> highlightOn <font color=Red>[</font>Normal<font color=Red>]</font>+highlightOn attrs <font color=Red>=</font> <font color=Magenta>"\ESC["</font>+ <font color=Cyan>++</font> concat <font color=Cyan>(</font>intersperse <font color=Magenta>";"</font> <font color=Cyan>(</font>map <font color=Cyan>(</font>show<font color=Cyan>.</font>fromEnum<font color=Cyan>)</font> attrs<font color=Cyan>)</font><font color=Cyan>)</font>+ <font color=Cyan>++</font><font color=Magenta>"m"</font>+<a name="highlightOff"></a>highlightOff <font color=Red>=</font> <font color=Magenta>"\ESC[0m"</font>+++<font color=Blue>-- An infinite supply of colours.</font>+colourCycle <font color=Red>::</font> <font color=Red>[</font>Colour<font color=Red>]</font>+<a name="colourCycle"></a>colourCycle <font color=Red>=</font> cycle <font color=Red>[</font>Red<font color=Cyan>,</font>Blue<font color=Cyan>,</font>Magenta<font color=Cyan>,</font>Green<font color=Cyan>,</font>Cyan<font color=Red>]</font>+++<font color=Blue>-- Scrolling</font>+enableScrollRegion <font color=Red>::</font> Int <font color=Red>-></font> Int <font color=Red>-></font> String+<a name="enableScrollRegion"></a>enableScrollRegion start end <font color=Red>=</font> <font color=Magenta>"\ESC["</font><font color=Cyan>++</font>show start<font color=Cyan>++</font><font color=Magenta>';'</font><b><font color=Red>:</font></b>show end<font color=Cyan>++</font><font color=Magenta>"r"</font>++<a name="scrollDown"></a>scrollDown <font color=Red>=</font> <font color=Magenta>"\ESCD"</font>+<a name="scrollUp"></a>scrollUp <font color=Red>=</font> <font color=Magenta>"\ESCM"</font>++<font color=Blue>-- Line-wrapping mode</font>+<a name="lineWrap"></a>lineWrap True <font color=Red>=</font> <font color=Magenta>"\ESC[7h"</font>+lineWrap False <font color=Red>=</font> <font color=Magenta>"\ESC[7l"</font>++</pre>
+ docs/hscolour/Language/Haskell/HsColour/Anchors.html view
@@ -0,0 +1,131 @@+<pre><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Anchors+ <font color=Cyan>(</font> insertAnchors+ <font color=Cyan>)</font> <u><font color=Green>where</font></u>++<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>import</font></u> List++<font color=Blue>-- This is an attempt to find the first defining occurrence of an</font>+<font color=Blue>-- identifier (function, datatype, class) in a Haskell source file.</font>+<font color=Blue>-- Rather than parse the module properly, we try to get by with just</font>+<font color=Blue>-- a finite state automaton. Keeping a record of identifiers we</font>+<font color=Blue>-- have already seen, we look at the beginning of every line to see</font>+<font color=Blue>-- if it starts with the right tokens to introduce a defn. If so,</font>+<font color=Blue>-- we look a little bit further until we can be certain. Then plonk</font>+<font color=Blue>-- (or not) an anchor at the beginning of the line.</font>++<a name="Anchor"></a><u><font color=Green>type</font></u> Anchor <font color=Red>=</font> String++<font color=Blue>-- | 'insertAnchors' places an anchor marker in the token stream before the</font>+<font color=Blue>-- first defining occurrence of any identifier. Here, /before/ means</font>+<font color=Blue>-- immediately preceding its type signature, or preceding a (haddock)</font>+<font color=Blue>-- comment that comes immediately before the type signature, or failing</font>+<font color=Blue>-- either of those, before the first equation.</font>+insertAnchors <font color=Red>::</font> <font color=Red>[</font><font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font> <font color=Red>-></font> <font color=Red>[</font>Either Anchor <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>+<a name="insertAnchors"></a>insertAnchors <font color=Red>=</font> anchor emptyST++<font color=Blue>-- looks at first token in the left-most position of each line</font>+<font color=Blue>-- precondition: have just seen a newline token.</font>+<a name="anchor"></a>anchor st s <font color=Red>=</font> <u><font color=Green>case</font></u> identifier st s <u><font color=Green>of</font></u>+ Nothing <font color=Red>-></font> emit st s+ Just v <font color=Red>-></font> Left v<b><font color=Red>:</font></b> emit <font color=Cyan>(</font>insertST v st<font color=Cyan>)</font> s++<font color=Blue>-- emit passes stuff through until the next newline has been encountered,</font>+<font color=Blue>-- then jumps back into the anchor function</font>+<font color=Blue>-- pre-condition: newlines are explicitly single tokens</font>+<a name="emit"></a>emit st <font color=Cyan>(</font>t<font color=Red>@</font><font color=Cyan>(</font>Space<font color=Cyan>,</font><font color=Magenta>"\n"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> Right t<b><font color=Red>:</font></b> anchor st stream+emit st <font color=Cyan>(</font>t<b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> Right t<b><font color=Red>:</font></b> emit st stream+emit <u><font color=Green>_</font></u> <font color=Red>[</font><font color=Red>]</font> <font color=Red>=</font> <font color=Red>[</font><font color=Red>]</font>++<font color=Blue>-- Given that we are at the beginning of a line, determine whether there</font>+<font color=Blue>-- is an identifier defined here, and if so, return it.</font>+<font color=Blue>-- precondition: have just seen a newline token.</font>+<a name="identifier"></a>identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Varid<font color=Cyan>,</font>v<font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font>+ <u><font color=Green>case</font></u> skip stream <u><font color=Green>of</font></u>+ <font color=Cyan>(</font><font color=Cyan>(</font>Varop<font color=Cyan>,</font>v<font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>|</font> not <font color=Cyan>(</font>v<font color=Cyan>`inST`</font>st<font color=Cyan>)</font> <font color=Red>-></font> Just <font color=Cyan>(</font>fix v<font color=Cyan>)</font>+ notVarop <font color=Blue>-- | typesig stream -> Nothing -- not a defn</font>+ <font color=Red>|</font> v <font color=Cyan>`inST`</font> st <font color=Red>-></font> Nothing <font color=Blue>-- already defined</font>+ <font color=Red>|</font> otherwise <font color=Red>-></font> Just v+identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>"("</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font>+ <u><font color=Green>case</font></u> stream <u><font color=Green>of</font></u>+ <font color=Cyan>(</font><font color=Cyan>(</font>Varop<font color=Cyan>,</font>v<font color=Cyan>)</font><b><font color=Red>:</font></b><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>")"</font><font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font>+ <font color=Blue>-- | typesig stream -> Nothing</font>+ <font color=Red>|</font> v <font color=Cyan>`inST`</font> st <font color=Red>-></font> Nothing+ <font color=Red>|</font> otherwise <font color=Red>-></font> Just <font color=Cyan>(</font>fix v<font color=Cyan>)</font>+ notVarop <font color=Red>-></font> <u><font color=Green>case</font></u> skip <font color=Cyan>(</font>munchParens stream<font color=Cyan>)</font> <u><font color=Green>of</font></u>+ <font color=Cyan>(</font><font color=Cyan>(</font>Varop<font color=Cyan>,</font>v<font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>|</font> not <font color=Cyan>(</font>v<font color=Cyan>`inST`</font>st<font color=Cyan>)</font> <font color=Red>-></font> Just <font color=Cyan>(</font>fix v<font color=Cyan>)</font>+ <u><font color=Green>_</font></u> <font color=Red>-></font> Nothing+identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyword<font color=Cyan>,</font><font color=Magenta>"foreign"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> Nothing <font color=Blue>-- not yet implemented</font>+identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyword<font color=Cyan>,</font><font color=Magenta>"data"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> getConid stream+identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyword<font color=Cyan>,</font><font color=Magenta>"type"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> getConid stream+identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyword<font color=Cyan>,</font><font color=Magenta>"class"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> getConid stream+identifier st t<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Comment<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b><font color=Cyan>(</font>Space<font color=Cyan>,</font><font color=Magenta>"\n"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> identifier st stream+identifier st stream <font color=Red>=</font> Nothing++<font color=Blue>-- Is this really a type signature? (no longer used)</font>+typesig <font color=Red>::</font> <font color=Red>[</font><font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font> <font color=Red>-></font> Bool+<a name="typesig"></a>typesig <font color=Cyan>(</font><font color=Cyan>(</font>Keyglyph<font color=Cyan>,</font><font color=Magenta>"::"</font><font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>=</font> True+typesig <font color=Cyan>(</font><font color=Cyan>(</font>Varid<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> typesig stream+typesig <font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>"("</font><font color=Cyan>)</font><b><font color=Red>:</font></b><font color=Cyan>(</font>Varop<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>")"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> typesig stream+typesig <font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>","</font><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> typesig stream+typesig <font color=Cyan>(</font><font color=Cyan>(</font>Space<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> typesig stream+typesig <font color=Cyan>(</font><font color=Cyan>(</font>Comment<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> typesig stream+typesig <u><font color=Green>_</font></u> <font color=Red>=</font> False++<font color=Blue>-- throw away everything from opening paren to matching close</font>+<a name="munchParens"></a>munchParens <font color=Red>=</font> munch <font color=Cyan>(</font><font color=Magenta>0</font><font color=Red>::</font>Int<font color=Cyan>)</font> <font color=Blue>-- already seen open paren</font>+ <u><font color=Green>where</font></u> munch <font color=Magenta>0</font> <font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>")"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>=</font> rest+ munch n <font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>")"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>=</font> munch <font color=Cyan>(</font>n<font color=Blue>-</font><font color=Magenta>1</font><font color=Cyan>)</font> rest+ munch n <font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>"("</font><font color=Cyan>)</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>=</font> munch <font color=Cyan>(</font>n<font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font> rest+ munch n <font color=Cyan>(</font><u><font color=Green>_</font></u><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>=</font> munch n rest+ munch <u><font color=Green>_</font></u> <font color=Red>[</font><font color=Red>]</font> <font color=Red>=</font> <font color=Red>[</font><font color=Red>]</font> <font color=Blue>-- source is ill-formed</font>++<font color=Blue>-- ensure anchor name is correct for a Varop</font>+<a name="fix"></a>fix <font color=Cyan>(</font><font color=Magenta>'`'</font><b><font color=Red>:</font></b>v<font color=Cyan>)</font> <font color=Red>=</font> init v+fix v <font color=Red>=</font> v++<font color=Blue>-- look past whitespace and comments to next "real" token</font>+<a name="skip"></a>skip <font color=Cyan>(</font><font color=Cyan>(</font>Space<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> skip stream+skip <font color=Cyan>(</font><font color=Cyan>(</font>Comment<font color=Cyan>,</font><u><font color=Green>_</font></u><font color=Cyan>)</font><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> skip stream+skip stream <font color=Red>=</font> stream++<font color=Blue>-- skip possible context up to and including "=>", returning next Conid token</font>+<font color=Blue>-- (this function is highly partial - relies on source being parse-correct)</font>+<a name="getConid"></a>getConid stream <font color=Red>=</font>+ <u><font color=Green>case</font></u> skip stream <u><font color=Green>of</font></u>+ <font color=Cyan>(</font><font color=Cyan>(</font>Conid<font color=Cyan>,</font>c<font color=Cyan>)</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>-></font> <u><font color=Green>case</font></u> context rest <u><font color=Green>of</font></u>+ <font color=Cyan>(</font><font color=Cyan>(</font>Keyglyph<font color=Cyan>,</font><font color=Magenta>"="</font><font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>-></font> Just c+ <font color=Cyan>(</font><font color=Cyan>(</font>Keyglyph<font color=Cyan>,</font><font color=Magenta>"=>"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>more<font color=Cyan>)</font> <font color=Red>-></font>+ <u><font color=Green>case</font></u> skip more <u><font color=Green>of</font></u>+ <font color=Cyan>(</font><font color=Cyan>(</font>Conid<font color=Cyan>,</font>c'<font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>-></font> Just c'+ v <font color=Red>-></font> debug v <font color=Cyan>(</font><font color=Magenta>"Conid "</font><font color=Cyan>++</font>c<font color=Cyan>++</font><font color=Magenta>" =>"</font><font color=Cyan>)</font>+ v <font color=Red>-></font> debug v <font color=Cyan>(</font><font color=Magenta>"Conid "</font><font color=Cyan>++</font>c<font color=Cyan>++</font><font color=Magenta>" no = or =>"</font><font color=Cyan>)</font>+ <font color=Cyan>(</font><font color=Cyan>(</font>Layout<font color=Cyan>,</font><font color=Magenta>"("</font><font color=Cyan>)</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>-></font> <u><font color=Green>case</font></u> context rest <u><font color=Green>of</font></u>+ <font color=Cyan>(</font><font color=Cyan>(</font>Keyglyph<font color=Cyan>,</font><font color=Magenta>"=>"</font><font color=Cyan>)</font><b><font color=Red>:</font></b>more<font color=Cyan>)</font> <font color=Red>-></font>+ <u><font color=Green>case</font></u> skip more <u><font color=Green>of</font></u>+ <font color=Cyan>(</font><font color=Cyan>(</font>Conid<font color=Cyan>,</font>c'<font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>-></font> Just c'+ v <font color=Red>-></font> debug v <font color=Cyan>(</font><font color=Magenta>"(...) =>"</font><font color=Cyan>)</font>+ v <font color=Red>-></font> debug v <font color=Cyan>(</font><font color=Magenta>"(...) no =>"</font><font color=Cyan>)</font>+ v <font color=Red>-></font> debug v <font color=Cyan>(</font><font color=Magenta>"no Conid or (...)"</font><font color=Cyan>)</font>+ <u><font color=Green>where</font></u> debug <font color=Cyan>(</font>s<b><font color=Red>:</font></b>t<font color=Cyan>)</font> c <font color=Red>=</font> Nothing+ <font color=Blue>-- debug (s:t) c = error ("HsColour: getConid failed: "++show s</font>+ <font color=Blue>-- ++"\n in the context of: "++c)</font>++<font color=Blue>-- jump past possible class context</font>+<a name="context"></a>context stream<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyglyph<font color=Cyan>,</font><font color=Magenta>"="</font><font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>=</font> stream+context stream<font color=Red>@</font><font color=Cyan>(</font><font color=Cyan>(</font>Keyglyph<font color=Cyan>,</font><font color=Magenta>"=>"</font><font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>=</font> stream+context <font color=Cyan>(</font><u><font color=Green>_</font></u><b><font color=Red>:</font></b>stream<font color=Cyan>)</font> <font color=Red>=</font> context stream++<font color=Blue>-- simple implementation of a string lookup table.</font>+<font color=Blue>-- replace this with something more sophisticated if needed.</font>+<a name="ST"></a><u><font color=Green>type</font></u> ST <font color=Red>=</font> <font color=Red>[</font>String<font color=Red>]</font>++emptyST <font color=Red>::</font> ST+<a name="emptyST"></a>emptyST <font color=Red>=</font> <font color=Red>[</font><font color=Red>]</font>++insertST <font color=Red>::</font> String <font color=Red>-></font> ST <font color=Red>-></font> ST+<a name="insertST"></a>insertST k st <font color=Red>=</font> insert k st++inST <font color=Red>::</font> String <font color=Red>-></font> ST <font color=Red>-></font> Bool+<a name="inST"></a>inST k st <font color=Red>=</font> k <font color=Cyan>`elem`</font> st+</pre>
+ docs/hscolour/Language/Haskell/HsColour/CSS.html view
@@ -0,0 +1,66 @@+<pre><font color=Blue>-- | Formats Haskell source code as HTML with CSS.</font>+<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> hscolourFragment<font color=Cyan>)</font> <u><font color=Green>where</font></u>++<u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Anchors+<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+<u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>HTML <font color=Cyan>(</font>renderAnchors<font color=Cyan>,</font> renderComment<font color=Cyan>,</font> escape<font color=Cyan>)</font>++<font color=Blue>-- | Formats Haskell source code as a complete HTML document with CSS.</font>+hscolour <font color=Red>::</font> Bool <font color=Blue>-- ^ Whether to include anchors</font>+ <font color=Red>-></font> String <font color=Blue>-- ^ Haskell source code.</font>+ <font color=Red>-></font> String <font color=Blue>-- ^ An HTML document containing the coloured </font>+ <font color=Blue>-- Haskell source code.</font>+<a name="hscolour"></a>hscolour anchor <font color=Red>=</font> top'n'tail <font color=Cyan>.</font> hscolourFragment anchor++<font color=Blue>-- | Formats Haskell source code as an HTML fragment with CSS.</font>+<font color=Blue>-- No stylesheet link is included in the output.</font>+hscolourFragment <font color=Red>::</font> Bool <font color=Blue>-- ^ Whether to include anchors</font>+ <font color=Red>-></font> String <font color=Blue>-- ^ Haskell source code.</font>+ <font color=Red>-></font> String <font color=Blue>-- ^ An HTML fragment containing the coloured </font>+ <font color=Blue>-- Haskell source code.</font>+<a name="hscolourFragment"></a>hscolourFragment anchor <font color=Red>=</font> + pre <font color=Cyan>.</font> <font color=Cyan>(</font><u><font color=Green>if</font></u> anchor + <u><font color=Green>then</font></u> concatMap <font color=Cyan>(</font>renderAnchors renderToken<font color=Cyan>)</font> <font color=Cyan>.</font> insertAnchors+ <u><font color=Green>else</font></u> concatMap renderToken<font color=Cyan>)</font> <font color=Cyan>.</font> tokenise++top'n'tail <font color=Red>::</font> String <font color=Red>-></font> String+<a name="top'n'tail"></a>top'n'tail <font color=Red>=</font> <font color=Cyan>(</font>cssPrefix<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>++pre <font color=Red>::</font> String <font color=Red>-></font> String+<a name="pre"></a>pre <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"<pre>"</font><font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font><font color=Magenta>"</pre>"</font><font color=Cyan>)</font>++renderToken <font color=Red>::</font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-></font> String+<a name="renderToken"></a>renderToken <font color=Cyan>(</font>Space<font color=Cyan>,</font>text<font color=Cyan>)</font> <font color=Red>=</font> text+renderToken <font color=Cyan>(</font>cls<font color=Cyan>,</font>text<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"<span class='"</font> <font color=Cyan>++</font> cssClass cls <font color=Cyan>++</font> <font color=Magenta>"'>"</font> <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>+ <font color=Magenta>"</span>"</font>++<a name="cssClass"></a>cssClass Keyword <font color=Red>=</font> <font color=Magenta>"keyword"</font>+cssClass Keyglyph <font color=Red>=</font> <font color=Magenta>"keyglyph"</font>+cssClass Layout <font color=Red>=</font> <font color=Magenta>"layout"</font>+cssClass Comment <font color=Red>=</font> <font color=Magenta>"comment"</font>+cssClass Conid <font color=Red>=</font> <font color=Magenta>"conid"</font>+cssClass Varid <font color=Red>=</font> <font color=Magenta>"varid"</font>+cssClass Conop <font color=Red>=</font> <font color=Magenta>"conop"</font>+cssClass Varop <font color=Red>=</font> <font color=Magenta>"varop"</font>+cssClass String <font color=Red>=</font> <font color=Magenta>"str"</font>+cssClass Char <font color=Red>=</font> <font color=Magenta>"chr"</font>+cssClass Number <font color=Red>=</font> <font color=Magenta>"num"</font>+cssClass Error <font color=Red>=</font> <font color=Magenta>"sel"</font>++<a name="cssPrefix"></a>cssPrefix <font color=Red>=</font> unlines+ <font color=Red>[</font><font color=Magenta>"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"</font>+ <font color=Cyan>,</font><font color=Magenta>"<html>"</font>+ <font color=Cyan>,</font><font color=Magenta>"<head>"</font>+ <font color=Cyan>,</font><font color=Magenta>"<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->"</font>+ <font color=Cyan>,</font><font color=Magenta>"<title>Haskell Code by HsColour</title>"</font>+ <font color=Cyan>,</font><font color=Magenta>"<link type='text/css' rel='stylesheet' href='hscolour.css' />"</font>+ <font color=Cyan>,</font><font color=Magenta>"</head>"</font>+ <font color=Cyan>,</font><font color=Magenta>"<body>"</font>+ <font color=Red>]</font>+ +<a name="cssSuffix"></a>cssSuffix <font color=Red>=</font> unlines+ <font color=Red>[</font><font color=Magenta>"</body>"</font>+ <font color=Cyan>,</font><font color=Magenta>"</html>"</font>+ <font color=Red>]</font>+</pre>
+ docs/hscolour/Language/Haskell/HsColour/Classify.html view
@@ -0,0 +1,100 @@+<pre><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Classify+ <font color=Cyan>(</font> TokenType<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>+ <font color=Cyan>,</font> tokenise+ <font color=Cyan>)</font> <u><font color=Green>where</font></u>++<u><font color=Green>import</font></u> Char+<u><font color=Green>import</font></u> List++<font color=Blue>-- Lex Haskell source code into an annotated token stream, without</font>+<font color=Blue>-- discarding any characters or layout.</font>+tokenise <font color=Red>::</font> String <font color=Red>-></font> <font color=Red>[</font><font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font><font color=Red>]</font>+<a name="tokenise"></a>tokenise <font color=Red>=</font> map <font color=Cyan>(</font><font color=Red>\</font>s<font color=Red>-></font> <font color=Cyan>(</font>classify s<font color=Cyan>,</font>s<font color=Cyan>)</font><font color=Cyan>)</font> <font color=Cyan>.</font> glue <font color=Cyan>.</font> chunk++<font color=Blue>-- Basic Haskell lexing, except we keep whitespace.</font>+chunk <font color=Red>::</font> String <font color=Red>-></font> <font color=Red>[</font>String<font color=Red>]</font>+<a name="chunk"></a>chunk <font color=Red>[</font><font color=Red>]</font> <font color=Red>=</font> <font color=Red>[</font><font color=Red>]</font>+chunk <font color=Cyan>(</font><font color=Magenta>'\r'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font> <font color=Red>=</font> chunk s <font color=Blue>-- get rid of DOS newline stuff</font>+chunk <font color=Cyan>(</font><font color=Magenta>'\n'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font> <font color=Red>=</font> <font color=Magenta>"\n"</font><b><font color=Red>:</font></b> chunk s+chunk <font color=Cyan>(</font>c<b><font color=Red>:</font></b>s<font color=Cyan>)</font> <font color=Red>|</font> isLinearSpace c+ <font color=Red>=</font> <font color=Cyan>(</font>c<b><font color=Red>:</font></b>ss<font color=Cyan>)</font><b><font color=Red>:</font></b> chunk rest <u><font color=Green>where</font></u> <font color=Cyan>(</font>ss<font color=Cyan>,</font>rest<font color=Cyan>)</font> <font color=Red>=</font> span isLinearSpace s+chunk <font color=Cyan>(</font><font color=Magenta>'{'</font><b><font color=Red>:</font></b><font color=Magenta>'-'</font><b><font color=Red>:</font></b>s<font color=Cyan>)</font> <font color=Red>=</font> <u><font color=Green>let</font></u> <font color=Cyan>(</font>com<font color=Cyan>,</font>s'<font color=Cyan>)</font> <font color=Red>=</font> nestcomment <font color=Magenta>0</font> s+ <u><font color=Green>in</font></u> <font color=Cyan>(</font><font color=Magenta>'{'</font><b><font color=Red>:</font></b><font color=Magenta>'-'</font><b><font color=Red>:</font></b>com<font color=Cyan>)</font> <b><font color=Red>:</font></b> chunk s'+chunk s <font color=Red>=</font> <u><font color=Green>case</font></u> Prelude<font color=Cyan>.</font>lex s <u><font color=Green>of</font></u>+ <font color=Red>[</font><font color=Red>]</font> <font color=Red>-></font> <font color=Red>[</font>head s<font color=Red>]</font><b><font color=Red>:</font></b> chunk <font color=Cyan>(</font>tail s<font color=Cyan>)</font> <font color=Blue>-- e.g. inside comment</font>+ <font color=Cyan>(</font><font color=Cyan>(</font>tok<font color=Red>@</font><font color=Cyan>(</font><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=Cyan>,</font>rest<font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font>+ <font color=Red>|</font> all <font color=Cyan>(</font><font color=Cyan>==</font><font color=Magenta>'-'</font><font color=Cyan>)</font> tok <font color=Red>-></font> <font color=Cyan>(</font>tok<font color=Cyan>++</font>com<font color=Cyan>)</font><b><font color=Red>:</font></b> chunk s'+ <u><font color=Green>where</font></u> <font color=Cyan>(</font>com<font color=Cyan>,</font>s'<font color=Cyan>)</font> <font color=Red>=</font> eolcomment rest+ <font color=Cyan>(</font><font color=Cyan>(</font>tok<font color=Cyan>,</font>rest<font color=Cyan>)</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>-></font> tok<b><font color=Red>:</font></b> chunk rest++<a name="isLinearSpace"></a>isLinearSpace c <font color=Red>=</font> c <font color=Cyan>`elem`</font> <font color=Magenta>" \t"</font> <font color=Blue>-- " \t\xa0"</font>++<font color=Blue>-- Glue sequences of tokens into more useful blobs</font>+<font color=Blue>--glue (q:".":n:rest) | Char.isUpper (head q) -- qualified names</font>+<font color=Blue>-- = glue ((q++"."++n): rest)</font>+<a name="glue"></a>glue <font color=Cyan>(</font><font color=Magenta>"`"</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>=</font> <font color=Blue>-- `varid` -> varop</font>+ <u><font color=Green>case</font></u> glue rest <u><font color=Green>of</font></u>+ <font color=Cyan>(</font>qn<b><font color=Red>:</font></b><font color=Magenta>"`"</font><b><font color=Red>:</font></b>rest<font color=Cyan>)</font> <font color=Red>-></font> <font color=Cyan>(</font><font color=Magenta>"`"</font><font color=Cyan>++</font>qn<font color=Cyan>++</font><font color=Magenta>"`"</font><font color=Cyan>)</font><b><font color=Red>:</font></b> glue rest+ <u><font color=Green>_</font></u> <font color=Red>-></font> <font color=Cyan>(</font><font color=Magenta>"`"</font><b><font color=Red>:</font></b> rest<font color=Cyan>)</font>+glue <font color=Cyan>(</font>s<b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>|</font> all <font color=Cyan>(</font><font color=Cyan>==</font><font color=Magenta>'-'</font><font color=Cyan>)</font> s <font color=Cyan>&&</font> length s <font color=Cyan>>=</font><font color=Magenta>2</font> <font color=Blue>-- eol comment</font>+ <font color=Red>=</font> <font color=Cyan>(</font>s<font color=Cyan>++</font>concat c<font color=Cyan>)</font><b><font color=Red>:</font></b> glue rest+ <u><font color=Green>where</font></u> <font color=Cyan>(</font>c<font color=Cyan>,</font>rest<font color=Cyan>)</font> <font color=Red>=</font> break <font color=Cyan>(</font><font color=Magenta>'\n'</font><font color=Cyan>`elem`</font><font color=Cyan>)</font> ss+<font color=Blue>--glue ("{":"-":ss) = ("{-"++c): glue rest -- nested comment</font>+<font color=Blue>-- where (c,rest) = nestcomment 0 ss</font>+glue <font color=Cyan>(</font>s<b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>=</font> s<b><font color=Red>:</font></b> glue ss+glue <font color=Red>[</font><font color=Red>]</font> <font color=Red>=</font> <font color=Red>[</font><font color=Red>]</font>++<font color=Blue>-- Deal with comments.</font>+nestcomment <font color=Red>::</font> Int <font color=Red>-></font> String <font color=Red>-></font> <font color=Cyan>(</font>String<font color=Cyan>,</font>String<font color=Cyan>)</font>+<a name="nestcomment"></a>nestcomment n <font color=Cyan>(</font><font color=Magenta>'{'</font><b><font color=Red>:</font></b><font color=Magenta>'-'</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>|</font> n<font color=Cyan>>=</font><font color=Magenta>0</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>"{-"</font><font color=Cyan>++</font>cs<font color=Cyan>)</font><font color=Cyan>,</font>rm<font color=Cyan>)</font>+ <u><font color=Green>where</font></u> <font color=Cyan>(</font>cs<font color=Cyan>,</font>rm<font color=Cyan>)</font> <font color=Red>=</font> nestcomment <font color=Cyan>(</font>n<font color=Cyan>+</font><font color=Magenta>1</font><font color=Cyan>)</font> ss+nestcomment n <font color=Cyan>(</font><font color=Magenta>'-'</font><b><font color=Red>:</font></b><font color=Magenta>'}'</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>|</font> n<font color=Cyan>></font><font color=Magenta>0</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Cyan>(</font><font color=Magenta>"-}"</font><font color=Cyan>++</font>cs<font color=Cyan>)</font><font color=Cyan>,</font>rm<font color=Cyan>)</font>+ <u><font color=Green>where</font></u> <font color=Cyan>(</font>cs<font color=Cyan>,</font>rm<font color=Cyan>)</font> <font color=Red>=</font> nestcomment <font color=Cyan>(</font>n<font color=Blue>-</font><font color=Magenta>1</font><font color=Cyan>)</font> ss+nestcomment n <font color=Cyan>(</font><font color=Magenta>'-'</font><b><font color=Red>:</font></b><font color=Magenta>'}'</font><b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>|</font> n<font color=Cyan>==</font><font color=Magenta>0</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"-}"</font><font color=Cyan>,</font>ss<font color=Cyan>)</font>+nestcomment n <font color=Cyan>(</font>s<b><font color=Red>:</font></b>ss<font color=Cyan>)</font> <font color=Red>|</font> n<font color=Cyan>>=</font><font color=Magenta>0</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Cyan>(</font>s<b><font color=Red>:</font></b>cs<font color=Cyan>)</font><font color=Cyan>,</font>rm<font color=Cyan>)</font>+ <u><font color=Green>where</font></u> <font color=Cyan>(</font>cs<font color=Cyan>,</font>rm<font color=Cyan>)</font> <font color=Red>=</font> nestcomment n ss+nestcomment n <font color=Red>[</font><font color=Red>]</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Red>[</font><font color=Red>]</font><font color=Cyan>,</font><font color=Red>[</font><font color=Red>]</font><font color=Cyan>)</font>++eolcomment <font color=Red>::</font> String <font color=Red>-></font> <font color=Cyan>(</font>String<font color=Cyan>,</font>String<font color=Cyan>)</font>+<a name="eolcomment"></a>eolcomment s<font color=Red>@</font><font color=Cyan>(</font><font color=Magenta>'\n'</font><b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Red>[</font><font color=Red>]</font><font color=Cyan>,</font> s<font color=Cyan>)</font>+eolcomment <font color=Cyan>(</font>c<b><font color=Red>:</font></b>s<font color=Cyan>)</font> <font color=Red>=</font> <font color=Cyan>(</font>c<b><font color=Red>:</font></b>cs<font color=Cyan>,</font> s'<font color=Cyan>)</font> <u><font color=Green>where</font></u> <font color=Cyan>(</font>cs<font color=Cyan>,</font>s'<font color=Cyan>)</font> <font color=Red>=</font> eolcomment s+eolcomment <font color=Red>[</font><font color=Red>]</font> <font color=Red>=</font> <font color=Cyan>(</font><font color=Red>[</font><font color=Red>]</font><font color=Cyan>,</font><font color=Red>[</font><font color=Red>]</font><font color=Cyan>)</font>++<font color=Blue>-- Classify tokens</font>+<a name="TokenType"></a><u><font color=Green>data</font></u> TokenType <font color=Red>=</font>+ Space <font color=Red>|</font> Keyword <font color=Red>|</font> Keyglyph <font color=Red>|</font> Layout <font color=Red>|</font> Comment <font color=Red>|</font> Conid <font color=Red>|</font> Varid <font color=Red>|</font>+ Conop <font color=Red>|</font> Varop <font color=Red>|</font> String <font color=Red>|</font> Char <font color=Red>|</font> Number <font color=Red>|</font> Error+ <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>)</font>++classify <font color=Red>::</font> String <font color=Red>-></font> TokenType+<a name="classify"></a>classify s<font color=Red>@</font><font color=Cyan>(</font>h<b><font color=Red>:</font></b><u><font color=Green>_</font></u><font color=Cyan>)</font>+ <font color=Red>|</font> isSpace h <font color=Red>=</font> Space+ <font color=Red>|</font> all <font color=Cyan>(</font><font color=Cyan>==</font><font color=Magenta>'-'</font><font color=Cyan>)</font> s <font color=Red>=</font> Comment+ <font color=Red>|</font> <font color=Magenta>"--"</font> <font color=Cyan>`isPrefixOf`</font> s+ <font color=Cyan>&&</font> any isSpace s <font color=Red>=</font> Comment <font color=Blue>-- not fully correct</font>+ <font color=Red>|</font> <font color=Magenta>"{-"</font> <font color=Cyan>`isPrefixOf`</font> s <font color=Red>=</font> Comment+ <font color=Red>|</font> s <font color=Cyan>`elem`</font> keywords <font color=Red>=</font> Keyword+ <font color=Red>|</font> s <font color=Cyan>`elem`</font> keyglyphs <font color=Red>=</font> Keyglyph+ <font color=Red>|</font> s <font color=Cyan>`elem`</font> layoutchars <font color=Red>=</font> Layout+ <font color=Red>|</font> isUpper h <font color=Red>=</font> Conid+ <font color=Red>|</font> isLower h <font color=Red>=</font> Varid+ <font color=Red>|</font> h <font color=Cyan>`elem`</font> symbols <font color=Red>=</font> Varop+ <font color=Red>|</font> h<font color=Cyan>==</font><font color=Magenta>':'</font> <font color=Red>=</font> Conop+ <font color=Red>|</font> h<font color=Cyan>==</font><font color=Magenta>'`'</font> <font color=Red>=</font> Varop+ <font color=Red>|</font> h<font color=Cyan>==</font><font color=Magenta>'"'</font> <font color=Red>=</font> String+ <font color=Red>|</font> h<font color=Cyan>==</font><font color=Magenta>'\''</font> <font color=Red>=</font> Char+ <font color=Red>|</font> isDigit h <font color=Red>=</font> Number+ <font color=Red>|</font> otherwise <font color=Red>=</font> Error++<font color=Blue>-- Haskell keywords</font>+<a name="keywords"></a>keywords <font color=Red>=</font>+ <font color=Red>[</font><font color=Magenta>"case"</font><font color=Cyan>,</font><font color=Magenta>"class"</font><font color=Cyan>,</font><font color=Magenta>"data"</font><font color=Cyan>,</font><font color=Magenta>"default"</font><font color=Cyan>,</font><font color=Magenta>"deriving"</font><font color=Cyan>,</font><font color=Magenta>"do"</font><font color=Cyan>,</font><font color=Magenta>"else"</font>+ <font color=Cyan>,</font><font color=Magenta>"if"</font><font color=Cyan>,</font><font color=Magenta>"import"</font><font color=Cyan>,</font><font color=Magenta>"in"</font><font color=Cyan>,</font><font color=Magenta>"infix"</font><font color=Cyan>,</font><font color=Magenta>"infixl"</font><font color=Cyan>,</font><font color=Magenta>"infixr"</font><font color=Cyan>,</font><font color=Magenta>"instance"</font><font color=Cyan>,</font><font color=Magenta>"let"</font><font color=Cyan>,</font><font color=Magenta>"module"</font>+ <font color=Cyan>,</font><font color=Magenta>"newtype"</font><font color=Cyan>,</font><font color=Magenta>"of"</font><font color=Cyan>,</font><font color=Magenta>"then"</font><font color=Cyan>,</font><font color=Magenta>"type"</font><font color=Cyan>,</font><font color=Magenta>"where"</font><font color=Cyan>,</font><font color=Magenta>"_"</font><font color=Cyan>,</font><font color=Magenta>"foreign"</font><font color=Cyan>,</font><font color=Magenta>"ccall"</font><font color=Cyan>,</font><font color=Magenta>"as"</font><font color=Red>]</font>+<a name="keyglyphs"></a>keyglyphs <font color=Red>=</font>+ <font color=Red>[</font><font color=Magenta>".."</font><font color=Cyan>,</font><font color=Magenta>"::"</font><font color=Cyan>,</font><font color=Magenta>"="</font><font color=Cyan>,</font><font color=Magenta>"\\"</font><font color=Cyan>,</font><font color=Magenta>"|"</font><font color=Cyan>,</font><font color=Magenta>"<-"</font><font color=Cyan>,</font><font color=Magenta>"->"</font><font color=Cyan>,</font><font color=Magenta>"@"</font><font color=Cyan>,</font><font color=Magenta>"~"</font><font color=Cyan>,</font><font color=Magenta>"=>"</font><font color=Cyan>,</font><font color=Magenta>"["</font><font color=Cyan>,</font><font color=Magenta>"]"</font><font color=Red>]</font>+<a name="layoutchars"></a>layoutchars <font color=Red>=</font>+ map <font color=Cyan>(</font><b><font color=Red>:</font></b><font color=Red>[</font><font color=Red>]</font><font color=Cyan>)</font> <font color=Magenta>";{}(),"</font>+<a name="symbols"></a>symbols <font color=Red>=</font>+ <font color=Magenta>"!#$%&*+./<=>?@\\^|-~"</font>+</pre>
+ docs/hscolour/Language/Haskell/HsColour/ColourHighlight.html view
@@ -0,0 +1,21 @@+<pre><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>ColourHighlight+ <font color=Cyan>(</font> Colour<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>+ <font color=Cyan>,</font> Highlight<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>+ <font color=Cyan>)</font> <u><font color=Green>where</font></u>++<a name="Colour"></a><u><font color=Green>data</font></u> Colour <font color=Red>=</font> Black <font color=Red>|</font> Red <font color=Red>|</font> Green <font color=Red>|</font> Yellow <font color=Red>|</font> Blue <font color=Red>|</font> Magenta <font color=Red>|</font> Cyan <font color=Red>|</font> White+ <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>,</font>Read<font color=Cyan>,</font>Enum<font color=Cyan>)</font>++<a name="Highlight"></a><u><font color=Green>data</font></u> Highlight <font color=Red>=</font>+ Normal+ <font color=Red>|</font> Bold+ <font color=Red>|</font> Dim+ <font color=Red>|</font> Underscore+ <font color=Red>|</font> Blink+ <font color=Red>|</font> ReverseVideo+ <font color=Red>|</font> Concealed+ <font color=Red>|</font> Foreground Colour+ <font color=Red>|</font> Background Colour+ <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>,</font>Read<font color=Cyan>)</font>++</pre>
+ docs/hscolour/Language/Haskell/HsColour/Colourise.html view
@@ -0,0 +1,65 @@+<pre><u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Colourise+ <font color=Cyan>(</font> <u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>ColourHighlight+ <font color=Cyan>,</font> ColourPrefs<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font>+ <font color=Cyan>,</font> readColourPrefs+ <font color=Cyan>,</font> colourise+ <font color=Cyan>)</font> <u><font color=Green>where</font></u>++<u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>ColourHighlight+<u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Classify <font color=Cyan>(</font>TokenType<font color=Cyan>(</font><font color=Red>..</font><font color=Cyan>)</font><font color=Cyan>)</font>++<u><font color=Green>import</font></u> System <font color=Cyan>(</font>getEnv<font color=Cyan>)</font>+<u><font color=Green>import</font></u> Char+<u><font color=Green>import</font></u> List++<font color=Blue>-- | Colour preferences.</font>+<a name="ColourPrefs"></a><u><font color=Green>data</font></u> ColourPrefs <font color=Red>=</font> ColourPrefs+ <font color=Cyan>{</font> keyword<font color=Cyan>,</font> keyglyph<font color=Cyan>,</font> layout<font color=Cyan>,</font> comment+ <font color=Cyan>,</font> conid<font color=Cyan>,</font> varid<font color=Cyan>,</font> conop<font color=Cyan>,</font> varop+ <font color=Cyan>,</font> string<font color=Cyan>,</font> char<font color=Cyan>,</font> number+ <font color=Cyan>,</font> selection<font color=Cyan>,</font> variantselection <font color=Red>::</font> <font color=Red>[</font>Highlight<font color=Red>]</font>+ <font color=Cyan>}</font> <u><font color=Green>deriving</font></u> <font color=Cyan>(</font>Eq<font color=Cyan>,</font>Show<font color=Cyan>,</font>Read<font color=Cyan>)</font>++<a name="defaultColourPrefs"></a>defaultColourPrefs <font color=Red>=</font> ColourPrefs+ <font color=Cyan>{</font> keyword <font color=Red>=</font> <font color=Red>[</font>Foreground Green<font color=Cyan>,</font>Underscore<font color=Red>]</font>+ <font color=Cyan>,</font> keyglyph <font color=Red>=</font> <font color=Red>[</font>Foreground Red<font color=Red>]</font>+ <font color=Cyan>,</font> layout <font color=Red>=</font> <font color=Red>[</font>Foreground Cyan<font color=Red>]</font>+ <font color=Cyan>,</font> comment <font color=Red>=</font> <font color=Red>[</font>Foreground Blue<font color=Red>]</font>+ <font color=Cyan>,</font> conid <font color=Red>=</font> <font color=Red>[</font>Normal<font color=Red>]</font>+ <font color=Cyan>,</font> varid <font color=Red>=</font> <font color=Red>[</font>Normal<font color=Red>]</font>+ <font color=Cyan>,</font> conop <font color=Red>=</font> <font color=Red>[</font>Foreground Red<font color=Cyan>,</font>Bold<font color=Red>]</font>+ <font color=Cyan>,</font> varop <font color=Red>=</font> <font color=Red>[</font>Foreground Cyan<font color=Red>]</font>+ <font color=Cyan>,</font> string <font color=Red>=</font> <font color=Red>[</font>Foreground Magenta<font color=Red>]</font>+ <font color=Cyan>,</font> char <font color=Red>=</font> <font color=Red>[</font>Foreground Magenta<font color=Red>]</font>+ <font color=Cyan>,</font> number <font color=Red>=</font> <font color=Red>[</font>Foreground Magenta<font color=Red>]</font>+ <font color=Cyan>,</font> selection <font color=Red>=</font> <font color=Red>[</font>Bold<font color=Cyan>,</font> Foreground Magenta<font color=Red>]</font>+ <font color=Cyan>,</font> variantselection <font color=Red>=</font> <font color=Red>[</font>Dim<font color=Cyan>,</font> Foreground Red<font color=Cyan>,</font> Underscore<font color=Red>]</font>+ <font color=Cyan>}</font>++readColourPrefs <font color=Red>::</font> IO ColourPrefs+<a name="readColourPrefs"></a>readColourPrefs <font color=Red>=</font> catch+ <font color=Cyan>(</font><u><font color=Green>do</font></u> val <font color=Red><-</font> readFile <font color=Magenta>".hscolour"</font>+ return <font color=Cyan>(</font>read val<font color=Cyan>)</font><font color=Cyan>)</font>+ <font color=Cyan>(</font><font color=Red>\</font>e<font color=Red>-></font> catch+ <font color=Cyan>(</font><u><font color=Green>do</font></u> home <font color=Red><-</font> getEnv <font color=Magenta>"HOME"</font>+ val <font color=Red><-</font> readFile <font color=Cyan>(</font>home<font color=Cyan>++</font><font color=Magenta>"/.hscolour"</font><font color=Cyan>)</font>+ return <font color=Cyan>(</font>read val<font color=Cyan>)</font><font color=Cyan>)</font>+ <font color=Cyan>(</font><font color=Red>\</font>e<font color=Red>-></font> return defaultColourPrefs<font color=Cyan>)</font><font color=Cyan>)</font>++<font color=Blue>-- Convert classification to colour highlights.</font>+colourise <font color=Red>::</font> ColourPrefs <font color=Red>-></font> TokenType <font color=Red>-></font> <font color=Red>[</font>Highlight<font color=Red>]</font>+<a name="colourise"></a>colourise pref Space <font color=Red>=</font> <font color=Red>[</font>Normal<font color=Red>]</font>+colourise pref Comment <font color=Red>=</font> comment pref+colourise pref Keyword <font color=Red>=</font> keyword pref+colourise pref Keyglyph <font color=Red>=</font> keyglyph pref+colourise pref Layout <font color=Red>=</font> layout pref+colourise pref Conid <font color=Red>=</font> conid pref+colourise pref Varid <font color=Red>=</font> varid pref+colourise pref Conop <font color=Red>=</font> conop pref+colourise pref Varop <font color=Red>=</font> varop pref+colourise pref String <font color=Red>=</font> string pref+colourise pref Char <font color=Red>=</font> char pref+colourise pref Number <font color=Red>=</font> number pref+colourise pref Error <font color=Red>=</font> selection pref++</pre>
+ docs/hscolour/Language/Haskell/HsColour/HTML.html view
@@ -0,0 +1,69 @@+<pre><font color=Blue>-- | Formats Haskell source code using HTML with font tags.</font>+<u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>HTML + <font color=Cyan>(</font>hscolour<font color=Cyan>,</font> + <font color=Blue>-- * Internals</font>+ renderAnchors<font color=Cyan>,</font> renderComment<font color=Cyan>,</font> escape<font color=Cyan>)</font> <u><font color=Green>where</font></u>++<u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Anchors+<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+<u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Colourise++<u><font color=Green>import</font></u> Data<font color=Cyan>.</font>Char<font color=Cyan>(</font>isAlphaNum<font color=Cyan>)</font>+++<font color=Blue>-- | Formats Haskell source code using HTML with font tags.</font>+hscolour <font color=Red>::</font> ColourPrefs <font color=Blue>-- ^ Colour preferences.</font>+ <font color=Red>-></font> Bool <font color=Blue>-- ^ Whether to include anchors</font>+ <font color=Red>-></font> String <font color=Blue>-- ^ Haskell source code.</font>+ <font color=Red>-></font> String <font color=Blue>-- ^ Coloured Haskell source code.</font>+<a name="hscolour"></a>hscolour pref anchor <font color=Red>=</font> + top'n'tail <font color=Cyan>.</font> <font color=Cyan>(</font><u><font color=Green>if</font></u> anchor <u><font color=Green>then</font></u> concatMap <font color=Cyan>(</font>renderAnchors <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font><font color=Cyan>)</font> + <font color=Cyan>.</font> insertAnchors+ <u><font color=Green>else</font></u> concatMap <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font><font color=Cyan>)</font> <font color=Cyan>.</font> tokenise++top'n'tail <font color=Red>::</font> String <font color=Red>-></font> String+<a name="top'n'tail"></a>top'n'tail <font color=Red>=</font> <font color=Cyan>(</font><font color=Magenta>"<pre>"</font><font color=Cyan>++</font><font color=Cyan>)</font> <font color=Cyan>.</font> <font color=Cyan>(</font><font color=Cyan>++</font><font color=Magenta>"</pre>"</font><font color=Cyan>)</font>++renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-></font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-></font> String+<a name="renderToken"></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>+ <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>++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>-></font>String<font color=Cyan>)</font>+ <font color=Red>-></font> Either String <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-></font> String+<a name="renderAnchors"></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>"<a name=\""</font><font color=Cyan>++</font>v<font color=Cyan>++</font><font color=Magenta>"\"></a>"</font>+renderAnchors render <font color=Cyan>(</font>Right r<font color=Cyan>)</font> <font color=Red>=</font> render r++<font color=Blue>-- if there are http://links/ in a comment, turn them into</font>+<font color=Blue>-- hyperlinks</font>+renderComment <font color=Red>::</font> String <font color=Red>-></font> String+<a name="renderComment"></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>+ renderLink a <font color=Cyan>++</font> renderComment b+ <u><font color=Green>where</font></u>+ <font color=Blue>-- see http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#characters</font>+ isUrlChar x <font color=Red>=</font> isAlphaNum x <font color=Cyan>||</font> x <font color=Cyan>`elem`</font> <font color=Magenta>":/?#[]@!$&'()*+,;=-._~%"</font>+ <font color=Cyan>(</font>a<font color=Cyan>,</font>b<font color=Cyan>)</font> <font color=Red>=</font> span isUrlChar xs+ renderLink link <font color=Red>=</font> <font color=Magenta>"<a href=\""</font> <font color=Cyan>++</font> link <font color=Cyan>++</font> <font color=Magenta>"\">"</font> <font color=Cyan>++</font> escape link <font color=Cyan>++</font> <font color=Magenta>"</a>"</font>+ +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+renderComment <font color=Red>[</font><font color=Red>]</font> <font color=Red>=</font> <font color=Red>[</font><font color=Red>]</font>++<font color=Blue>-- Html stuff</font>+<a name="fontify"></a>fontify <font color=Red>[</font><font color=Red>]</font> s <font color=Red>=</font> s+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="font"></a>font Normal s <font color=Red>=</font> s+font Bold s <font color=Red>=</font> <font color=Magenta>"<b>"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"</b>"</font>+font Dim s <font color=Red>=</font> <font color=Magenta>"<em>"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"</em>"</font>+font Underscore s <font color=Red>=</font> <font color=Magenta>"<u>"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"</u>"</font>+font Blink s <font color=Red>=</font> <font color=Magenta>"<blink>"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"</blink>"</font>+font ReverseVideo s <font color=Red>=</font> s+font Concealed s <font color=Red>=</font> s+font <font color=Cyan>(</font>Foreground c<font color=Cyan>)</font> s <font color=Red>=</font> <font color=Magenta>"<font color="</font><font color=Cyan>++</font>show c<font color=Cyan>++</font><font color=Magenta>">"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"</font>"</font>+font <font color=Cyan>(</font>Background c<font color=Cyan>)</font> s <font color=Red>=</font> <font color=Magenta>"<font bgcolor="</font><font color=Cyan>++</font>show c<font color=Cyan>++</font><font color=Magenta>">"</font><font color=Cyan>++</font>s<font color=Cyan>++</font><font color=Magenta>"</font>"</font>++<a name="escape"></a>escape <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>"&lt;"</font><font color=Cyan>++</font>escape cs+escape <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>"&gt;"</font><font color=Cyan>++</font>escape cs+escape <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>"&amp;"</font><font color=Cyan>++</font>escape cs+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+escape <font color=Red>[</font><font color=Red>]</font> <font color=Red>=</font> <font color=Red>[</font><font color=Red>]</font>+</pre>
+ docs/hscolour/Language/Haskell/HsColour/TTY.html view
@@ -0,0 +1,16 @@+<pre><font color=Blue>-- | Highlights Haskell code with ANSI terminal codes.</font>+<u><font color=Green>module</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>TTY <font color=Cyan>(</font>hscolour<font color=Cyan>)</font> <u><font color=Green>where</font></u>++<u><font color=Green>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>ANSI <u><font color=Green>as</font></u> ANSI+<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>import</font></u> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>HsColour<font color=Cyan>.</font>Colourise++<font color=Blue>-- | Highlights Haskell code with ANSI terminal codes.</font>+hscolour <font color=Red>::</font> ColourPrefs <font color=Blue>-- ^ Colour preferences.</font>+ <font color=Red>-></font> String <font color=Blue>-- ^ Haskell source code.</font>+ <font color=Red>-></font> String <font color=Blue>-- ^ Coloured Haskell source code.</font>+<a name="hscolour"></a>hscolour pref <font color=Red>=</font> concatMap <font color=Cyan>(</font>renderToken pref<font color=Cyan>)</font> <font color=Cyan>.</font> tokenise++renderToken <font color=Red>::</font> ColourPrefs <font color=Red>-></font> <font color=Cyan>(</font>TokenType<font color=Cyan>,</font>String<font color=Cyan>)</font> <font color=Red>-></font> String+<a name="renderToken"></a>renderToken pref <font color=Cyan>(</font>t<font color=Cyan>,</font>s<font color=Cyan>)</font> <font color=Red>=</font> ANSI<font color=Cyan>.</font>highlight <font color=Cyan>(</font>colourise pref t<font color=Cyan>)</font> s+</pre>
+ docs/hscolour/doc-index-B.html view
@@ -0,0 +1,184 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (B)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Background</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3ABackground"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3ABackground"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Black</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3ABlack"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3ABlack"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Blink</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3ABlink"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3ABlink"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Blue</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3ABlue"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3ABlue"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Bold</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3ABold"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3ABold"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-C.html view
@@ -0,0 +1,364 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (C)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>CSS</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour.html#v%3ACSS"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Char</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3AChar"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Colour</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AColour"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AColour"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry" COLSPAN="2"+>ColourPrefs</TD+></TR+><TR+><TD CLASS="indexannot"+>1 (Type/Class)</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#t%3AColourPrefs"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#t%3AColourPrefs"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexannot"+>2 (Data Constructor)</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3AColourPrefs"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3AColourPrefs"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Comment</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3AComment"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Concealed</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3AConcealed"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3AConcealed"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Conid</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3AConid"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Conop</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3AConop"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Cyan</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3ACyan"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3ACyan"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>char</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Achar"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Achar"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>clearDown</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AclearDown"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>clearUp</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AclearUp"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>clearbol</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3Aclearbol"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>cleareol</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3Acleareol"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>clearline</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3Aclearline"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>cls</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3Acls"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>colourCycle</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AcolourCycle"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>colourise</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Acolourise"+>Language.Haskell.HsColour.Colourise</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>comment</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Acomment"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Acomment"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>conid</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Aconid"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Aconid"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>conop</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Aconop"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Aconop"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>cursorDown</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AcursorDown"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>cursorLeft</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AcursorLeft"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>cursorRight</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AcursorRight"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>cursorUp</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AcursorUp"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-D.html view
@@ -0,0 +1,144 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (D)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Dim</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3ADim"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3ADim"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-E.html view
@@ -0,0 +1,158 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (E)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Error</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3AError"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>enableScrollRegion</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AenableScrollRegion"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>escape</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-HTML.html#v%3Aescape"+>Language.Haskell.HsColour.HTML</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-F.html view
@@ -0,0 +1,144 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (F)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Foreground</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3AForeground"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3AForeground"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-G.html view
@@ -0,0 +1,152 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (G)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Green</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3AGreen"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3AGreen"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>goto</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3Agoto"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-H.html view
@@ -0,0 +1,220 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (H)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>HTML</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour.html#v%3AHTML"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Highlight</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#t%3AHighlight"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#t%3AHighlight"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>highlight</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3Ahighlight"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>highlightOff</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AhighlightOff"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>highlightOn</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AhighlightOn"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry" COLSPAN="2"+>hscolour</TD+></TR+><TR+><TD CLASS="indexannot"+>1 (Function)</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour.html#v%3Ahscolour"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexannot"+>2 (Function)</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-CSS.html#v%3Ahscolour"+>Language.Haskell.HsColour.CSS</A+></TD+></TR+><TR+><TD CLASS="indexannot"+>3 (Function)</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-HTML.html#v%3Ahscolour"+>Language.Haskell.HsColour.HTML</A+></TD+></TR+><TR+><TD CLASS="indexannot"+>4 (Function)</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-TTY.html#v%3Ahscolour"+>Language.Haskell.HsColour.TTY</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>hscolourFragment</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-CSS.html#v%3AhscolourFragment"+>Language.Haskell.HsColour.CSS</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-I.html view
@@ -0,0 +1,142 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (I)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>insertAnchors</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Anchors.html#v%3AinsertAnchors"+>Language.Haskell.HsColour.Anchors</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-K.html view
@@ -0,0 +1,170 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (K)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Keyglyph</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3AKeyglyph"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Keyword</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3AKeyword"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>keyglyph</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Akeyglyph"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Akeyglyph"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>keyword</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Akeyword"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Akeyword"+>Language.Haskell.HsColour</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-L.html view
@@ -0,0 +1,168 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (L)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>LaTeX</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour.html#v%3ALaTeX"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Layout</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3ALayout"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>layout</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Alayout"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Alayout"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>lineWrap</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AlineWrap"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-M.html view
@@ -0,0 +1,144 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (M)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Magenta</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3AMagenta"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3AMagenta"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-N.html view
@@ -0,0 +1,162 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (N)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Normal</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3ANormal"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3ANormal"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Number</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3ANumber"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>number</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Anumber"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Anumber"+>Language.Haskell.HsColour</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-O.html view
@@ -0,0 +1,142 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (O)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Output</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour.html#t%3AOutput"+>Language.Haskell.HsColour</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-R.html view
@@ -0,0 +1,186 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (R)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Red</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3ARed"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3ARed"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>ReverseVideo</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3AReverseVideo"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3AReverseVideo"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>readColourPrefs</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3AreadColourPrefs"+>Language.Haskell.HsColour.Colourise</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>renderAnchors</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-HTML.html#v%3ArenderAnchors"+>Language.Haskell.HsColour.HTML</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>renderComment</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-HTML.html#v%3ArenderComment"+>Language.Haskell.HsColour.HTML</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>restorePosition</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3ArestorePosition"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-S.html view
@@ -0,0 +1,194 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (S)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Space</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3ASpace"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>String</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3AString"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>savePosition</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AsavePosition"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>scrollDown</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AscrollDown"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>scrollUp</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ANSI.html#v%3AscrollUp"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>selection</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Aselection"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Aselection"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>string</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Astring"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Astring"+>Language.Haskell.HsColour</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-T.html view
@@ -0,0 +1,158 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (T)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>TTY</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour.html#v%3ATTY"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>TokenType</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#t%3ATokenType"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>tokenise</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3Atokenise"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-U.html view
@@ -0,0 +1,144 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (U)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Underscore</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3AUnderscore"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3AUnderscore"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-V.html view
@@ -0,0 +1,180 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (V)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Varid</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3AVarid"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>Varop</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Classify.html#v%3AVarop"+>Language.Haskell.HsColour.Classify</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>variantselection</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Avariantselection"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Avariantselection"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>varid</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Avarid"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Avarid"+>Language.Haskell.HsColour</A+></TD+></TR+><TR+><TD CLASS="indexentry"+>varop</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-Colourise.html#v%3Avarop"+>Language.Haskell.HsColour.Colourise</A+>, <A HREF="Language-Haskell-HsColour.html#v%3Avarop"+>Language.Haskell.HsColour</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-W.html view
@@ -0,0 +1,144 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (W)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>White</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3AWhite"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3AWhite"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index-Y.html view
@@ -0,0 +1,144 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index (Y)</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD CLASS="indexentry"+>Yellow</TD+><TD CLASS="indexlinks"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html#v%3AYellow"+>Language.Haskell.HsColour.ColourHighlight</A+>, Language.Haskell.HsColour.Colourise, <A HREF="Language-Haskell-HsColour-ANSI.html#v%3AYellow"+>Language.Haskell.HsColour.ANSI</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/doc-index.html view
@@ -0,0 +1,128 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour (Index)</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Index</TD+></TR+><TR+><TD+><TABLE CELLPADDING="0" CELLSPACING="5"+><TR+><TD+><A HREF="doc-index-B.html"+>B</A+></TD+><TD+><A HREF="doc-index-C.html"+>C</A+></TD+><TD+><A HREF="doc-index-D.html"+>D</A+></TD+><TD+><A HREF="doc-index-E.html"+>E</A+></TD+><TD+><A HREF="doc-index-F.html"+>F</A+></TD+><TD+><A HREF="doc-index-G.html"+>G</A+></TD+><TD+><A HREF="doc-index-H.html"+>H</A+></TD+><TD+><A HREF="doc-index-I.html"+>I</A+></TD+><TD+><A HREF="doc-index-K.html"+>K</A+></TD+><TD+><A HREF="doc-index-L.html"+>L</A+></TD+><TD+><A HREF="doc-index-M.html"+>M</A+></TD+><TD+><A HREF="doc-index-N.html"+>N</A+></TD+><TD+><A HREF="doc-index-O.html"+>O</A+></TD+><TD+><A HREF="doc-index-R.html"+>R</A+></TD+><TD+><A HREF="doc-index-S.html"+>S</A+></TD+><TD+><A HREF="doc-index-T.html"+>T</A+></TD+><TD+><A HREF="doc-index-U.html"+>U</A+></TD+><TD+><A HREF="doc-index-V.html"+>V</A+></TD+><TD+><A HREF="doc-index-W.html"+>W</A+></TD+><TD+><A HREF="doc-index-Y.html"+>Y</A+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/haddock.css view
@@ -0,0 +1,260 @@+/* -------- Global things --------- */++BODY { + background-color: #ffffff;+ color: #000000;+ font-family: sans-serif;+ } ++A:link { color: #0000e0; text-decoration: none }+A:visited { color: #0000a0; text-decoration: none }+A:hover { background-color: #e0e0ff; text-decoration: none }++TABLE.vanilla {+ width: 100%;+ border-width: 0px;+ /* I can't seem to specify cellspacing or cellpadding properly using CSS... */+}++TABLE.vanilla2 {+ border-width: 0px;+}++/* <TT> font is a little too small in MSIE */+TT { font-size: 100%; }+PRE { font-size: 100%; }++LI P { margin: 0pt } ++TD {+ border-width: 0px;+}++TABLE.narrow {+ border-width: 0px;+}++TD.s8 { height: 8px; }+TD.s15 { height: 15px; }++SPAN.keyword { text-decoration: underline; }++/* Resize the buttom image to match the text size */+IMG.coll { width : 0.75em; height: 0.75em; margin-bottom: 0; margin-right: 0.5em }++/* --------- Contents page ---------- */++DIV.node {+ padding-left: 3em;+}++DIV.cnode {+ padding-left: 1.75em;+}++SPAN.pkg {+ position: absolute;+ left: 50em;+}++/* --------- Documentation elements ---------- */++TD.children {+ padding-left: 25px;+ }++TD.synopsis {+ padding: 2px;+ background-color: #f0f0f0;+ font-family: monospace+ }++TD.decl { + padding: 2px;+ background-color: #f0f0f0; + font-family: monospace;+ vertical-align: top;+ }++TD.topdecl {+ padding: 2px;+ background-color: #f0f0f0;+ font-family: monospace;+ vertical-align: top;+}++TABLE.declbar {+ border-spacing: 0px;+ }++TD.declname {+ width: 100%;+ }++TD.declbut {+ padding-left: 5px;+ padding-right: 5px;+ border-left-width: 1px;+ border-left-color: #000099;+ border-left-style: solid;+ white-space: nowrap;+ font-size: small;+ }++/* + arg is just like decl, except that wrapping is not allowed. It is+ used for function and constructor arguments which have a text box+ to the right, where if wrapping is allowed the text box squashes up+ the declaration by wrapping it.+*/+TD.arg { + padding: 2px;+ background-color: #f0f0f0; + font-family: monospace;+ vertical-align: top;+ white-space: nowrap;+ }++TD.recfield { padding-left: 20px }++TD.doc { + padding-top: 2px;+ padding-left: 10px;+ }++TD.ndoc { + padding: 2px;+ }++TD.rdoc { + padding: 2px;+ padding-left: 10px;+ width: 100%;+ }++TD.body { + padding-left: 10px+ }++TD.pkg {+ width: 100%;+ padding-left: 10px+}++TD.indexentry {+ vertical-align: top;+ padding-right: 10px+ }++TD.indexannot {+ vertical-align: top;+ padding-left: 20px;+ white-space: nowrap+ }++TD.indexlinks {+ width: 100%+ }++/* ------- Section Headings ------- */++TD.section1 {+ padding-top: 15px;+ font-weight: bold;+ font-size: 150%+ }++TD.section2 {+ padding-top: 10px;+ font-weight: bold;+ font-size: 130%+ }++TD.section3 {+ padding-top: 5px;+ font-weight: bold;+ font-size: 110%+ }++TD.section4 {+ font-weight: bold;+ font-size: 100%+ }++/* -------------- The title bar at the top of the page */++TD.infohead {+ color: #ffffff;+ font-weight: bold;+ padding-right: 10px;+ text-align: left;+}++TD.infoval {+ color: #ffffff;+ padding-right: 10px;+ text-align: left;+}++TD.topbar {+ background-color: #000099;+ padding: 5px;+}++TD.title {+ color: #ffffff;+ padding-left: 10px;+ width: 100%+ }++TD.topbut {+ padding-left: 5px;+ padding-right: 5px;+ border-left-width: 1px;+ border-left-color: #ffffff;+ border-left-style: solid;+ white-space: nowrap;+ }++TD.topbut A:link {+ color: #ffffff+ }++TD.topbut A:visited {+ color: #ffff00+ }++TD.topbut A:hover {+ background-color: #6060ff;+ }++TD.topbut:hover {+ background-color: #6060ff+ }++TD.modulebar { + background-color: #0077dd;+ padding: 5px;+ border-top-width: 1px;+ border-top-color: #ffffff;+ border-top-style: solid;+ }++/* --------- The page footer --------- */++TD.botbar {+ background-color: #000099;+ color: #ffffff;+ padding: 5px+ }+TD.botbar A:link {+ color: #ffffff;+ text-decoration: underline+ }+TD.botbar A:visited {+ color: #ffff00+ }+TD.botbar A:hover {+ background-color: #6060ff+ }+
+ docs/hscolour/haddock.js view
@@ -0,0 +1,15 @@+// Haddock JavaScript utilities+function toggle(button,id)+{+ var n = document.getElementById(id).style;+ if (n.display == "none")+ {+ button.src = "minus.gif";+ n.display = "block";+ }+ else+ {+ button.src = "plus.gif";+ n.display = "none";+ }+}
+ docs/hscolour/haskell_icon.gif view
binary file changed (absent → 911 bytes)
+ docs/hscolour/index.html view
@@ -0,0 +1,185 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">+<!--Rendered using the Haskell Html Library v0.2-->+<HTML+><HEAD+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"+><TITLE+>hscolour</TITLE+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"+><SCRIPT SRC="haddock.js" TYPE="text/javascript"+></SCRIPT+></HEAD+><BODY+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD CLASS="topbar"+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"+><TR+><TD+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "+></TD+><TD CLASS="title"+>hscolour</TD+><TD CLASS="topbut"+><A HREF="index.html"+>Contents</A+></TD+><TD CLASS="topbut"+><A HREF="doc-index.html"+>Index</A+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="section1"+>Modules</TD+></TR+><TR+><TD+><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0"+><TR+><TD STYLE="width: 50em"+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:0')" ALT="show/hide"+>Language</TD+><TD+></TD+><TD+></TD+></TR+><TR+><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"+><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:0" STYLE="display:block;"+><TR+><TD STYLE="width: 48em"+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:1')" ALT="show/hide"+>Haskell</TD+><TD+></TD+><TD+></TD+></TR+><TR+><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"+><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:1" STYLE="display:block;"+><TR+><TD STYLE="width: 46em"+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:2')" ALT="show/hide"+><A HREF="Language-Haskell-HsColour.html"+>Language.Haskell.HsColour</A+></TD+><TD+></TD+><TD+></TD+></TR+><TR+><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"+><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:2" STYLE="display:block;"+><TR+><TD STYLE="padding-left: 1.25em;width: 44em"+><A HREF="Language-Haskell-HsColour-ANSI.html"+>Language.Haskell.HsColour.ANSI</A+></TD+><TD+></TD+><TD+></TD+></TR+><TR+><TD STYLE="padding-left: 1.25em;width: 44em"+><A HREF="Language-Haskell-HsColour-Anchors.html"+>Language.Haskell.HsColour.Anchors</A+></TD+><TD+></TD+><TD+></TD+></TR+><TR+><TD STYLE="padding-left: 1.25em;width: 44em"+><A HREF="Language-Haskell-HsColour-CSS.html"+>Language.Haskell.HsColour.CSS</A+></TD+><TD+></TD+><TD+></TD+></TR+><TR+><TD STYLE="padding-left: 1.25em;width: 44em"+><A HREF="Language-Haskell-HsColour-Classify.html"+>Language.Haskell.HsColour.Classify</A+></TD+><TD+></TD+><TD+></TD+></TR+><TR+><TD STYLE="padding-left: 1.25em;width: 44em"+><A HREF="Language-Haskell-HsColour-ColourHighlight.html"+>Language.Haskell.HsColour.ColourHighlight</A+></TD+><TD+></TD+><TD+></TD+></TR+><TR+><TD STYLE="padding-left: 1.25em;width: 44em"+><A HREF="Language-Haskell-HsColour-Colourise.html"+>Language.Haskell.HsColour.Colourise</A+></TD+><TD+></TD+><TD+></TD+></TR+><TR+><TD STYLE="padding-left: 1.25em;width: 44em"+><A HREF="Language-Haskell-HsColour-HTML.html"+>Language.Haskell.HsColour.HTML</A+></TD+><TD+></TD+><TD+></TD+></TR+><TR+><TD STYLE="padding-left: 1.25em;width: 44em"+><A HREF="Language-Haskell-HsColour-TTY.html"+>Language.Haskell.HsColour.TTY</A+></TD+><TD+></TD+><TD+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></TD+></TR+></TABLE+></TD+></TR+><TR+><TD CLASS="s15"+></TD+></TR+><TR+><TD CLASS="botbar"+>Produced by <A HREF="http://www.haskell.org/haddock/"+>Haddock</A+> version 0.8</TD+></TR+></TABLE+></BODY+></HTML+>
+ docs/hscolour/minus.gif view
binary file changed (absent → 56 bytes)
+ docs/hscolour/plus.gif view
binary file changed (absent → 59 bytes)
+ hscolour.cabal view
@@ -0,0 +1,30 @@+Name: hscolour+Version: 1.6+Copyright: Malcolm Wallace, University of York, 2003-2005, Bjorn Bringert 2006+Maintainer: Malcolm Wallace+Author: Malcolm Wallace+Homepage: http://www.cs.york.ac.uk/fp/darcs/hscolour/+License: GPL+License-file: LICENCE-GPL+Build-depends: haskell98, base+Extensions: +Synopsis: Colourise Haskell code.+Description:+ hscolour is a small Haskell script to colourise Haskell code. It currently+ has four output formats: + ANSI terminal codes, HTML with <font> tags, HTML with CSS, and LaTeX.+Exposed-Modules: + Language.Haskell.HsColour,+ Language.Haskell.HsColour.ANSI,+ Language.Haskell.HsColour.Anchors,+ Language.Haskell.HsColour.Classify,+ Language.Haskell.HsColour.ColourHighlight,+ Language.Haskell.HsColour.Colourise,+ Language.Haskell.HsColour.TTY,+ Language.Haskell.HsColour.HTML,+ Language.Haskell.HsColour.LaTeX,+ Language.Haskell.HsColour.CSS+ghc-options: -O2 -W++Executable: HsColour+Main-is: HsColour.hs
+ hscolour.css view
@@ -0,0 +1,5 @@++.keyglyph, .layout {color: red;}+.keyword {color: blue;}+.comment, .comment a {color: green;}+.str, .chr {color: teal;}
+ index.html view
@@ -0,0 +1,184 @@+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">+<html><head><title>hscolour</title></head>+<body bgcolor="#ffffff">+<table><tr><td width=700>++<center>+ <h1>hscolour</h1>+</center>+<hr>++<p>+<b>hscolour</b> is a small Haskell script to colourise Haskell code.+It currently has four output formats: ANSI terminal codes, HTML with+<font> tags, HTML with CSS, and LaTeX.++<h2>Example</h2>+<p>+Here's a little example of the HTML output:<br>+<pre> <u><font color=Green>module</font></u> Main <font color=Cyan>(</font>main<font color=Cyan>)</font> <u><font color=Green>where</font></u>+ <u><font color=Green>import</font></u> Prelude + + <font color=Blue>-- The notorious nfib "benchmark", but using Doubles.</font>+ main <font color=Red>=</font> print <font color=Cyan>(</font>nfib <font color=Magenta>30</font><font color=Cyan>)</font>+ + nfib <font color=Red>::</font> Double <font color=Red>-></font> Double+ nfib n <font color=Red>=</font> <u><font color=Green>if</font></u> n <font color=Cyan><=</font> <font color=Magenta>1</font>+ <u><font color=Green>then</font></u> <font color=Magenta>1</font>+ <u><font color=Green>else</font></u> nfib <font color=Cyan>(</font>n<font color=Cyan>`subtract`</font><font color=Magenta>1</font><font color=Cyan>)</font> <font color=Cyan>+</font> nfib <font color=Cyan>(</font>n<font color=Cyan>`subtract`</font><font color=Magenta>2</font><font color=Cyan>)</font> <font color=Cyan>+</font> <font color=Magenta>1</font>+</pre>++<h2>Download</h2>+<p>+<ul>+<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>+<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+ <a href="http://www.cs.york.ac.uk/fp/darcs/">darcsweb</a>.+<li> A Windows binary is available at+ <a href="ftp://ftp.cs.york.ac.uk/pub/haskell/contrib/hscolour-1.3-win.zip">+ ftp://ftp.cs.york.ac.uk/pub/haskell/contrib/hscolour-1.3-win.zip</a>+</ul>++<h2>Build</h2>+<p>+Just use one of the standard ways of building a Haskell program:+<ul>+<li><tt>hmake HsColour</tt>+<li><tt>ghc --make HsColour</tt>+<li><tt>runhugs HsColour</tt>+</ul>++<h2>Use</h2>+<p>+<ul>+<li><tt>HsColour [ -tty | -html | -css | -latex | -anchorHTML | -anchorCSS ] [file.hs]</tt>+</ul>+<p>+You can colourise a Haskell source file for either ANSI terminal codes+(option -tty), or HTML with font tags (option -html), or HTML output+with CSS (option -css), or for LaTeX. The default is for terminal output.+<p>+If no file argument is given, it reads standard input. Output is+always written to standard output.+<p>+HsColour can add named anchors (options -anchorHTML or -anchorCSS) to+top-level definitions in the source file (functions, datatypes,+classes). This enables you to make links to a specific location in the+generated file with the standard <tt>file.html#anchor</tt> notation+(e.g. from <a href="http://haskell.org/haddock">haddock</a>-generated+library documentation). <a href="#haddock">See below for details.</a>+++<h2>Configuration of colours</h2>+<p>+If you use either -html, -tty, or -latex, you can configure the colours for+different lexical entities by editing a configuration file called+<tt>.hscolour</tt> in the current directory.+(An <a href=".hscolour">example</a> is included in the distribution.)+For CSS output, it is sufficient to edit the+<a href="hscolour.css"><tt>hscolour.css</tt></a> file, also in+the distribution.++<p>+The <tt>.hscolour</tt> file format is a simple Haskell value of type+ColourPrefs, constructed using named fields, as follows:++<pre> <u><font color=Green>data</font></u> ColourPrefs <font color=Red>=</font> ColourPrefs+ <font color=Cyan>{</font> keyword<font color=Cyan>,</font> keyglyph<font color=Cyan>,</font> layout<font color=Cyan>,</font> comment+ <font color=Cyan>,</font> conid<font color=Cyan>,</font> varid<font color=Cyan>,</font> conop<font color=Cyan>,</font> varop+ <font color=Cyan>,</font> string<font color=Cyan>,</font> char<font color=Cyan>,</font> number+ <font color=Cyan>,</font> selection<font color=Cyan>,</font> variantselection <font color=Red>::</font> <font color=Red>[</font>Highlight<font color=Red>]</font>+ <font color=Cyan>}</font>++ <u><font color=Green>data</font></u> Colour <font color=Red>=</font> Black <font color=Red>|</font> Red <font color=Red>|</font> Green <font color=Red>|</font> Yellow <font color=Red>|</font> Blue <font color=Red>|</font> Magenta <font color=Red>|</font> Cyan <font color=Red>|</font> White++ <u><font color=Green>data</font></u> Highlight <font color=Red>=</font>+ Normal+ <font color=Red>|</font> Bold+ <font color=Red>|</font> Dim+ <font color=Red>|</font> Underscore+ <font color=Red>|</font> Blink+ <font color=Red>|</font> ReverseVideo+ <font color=Red>|</font> Concealed+ <font color=Red>|</font> Foreground Colour+ <font color=Red>|</font> Background Colour+</pre>++<p>+<h2>Use it as a library</h2>+If you want to incorporate hscolour-like functionality into your own+Haskell program, it is now (from 1.4) also available as a library,+thanks to Björn Bringert. The library is Cabal-ised, so just do+the usual thing to install it as a package:+<ul>+<li><tt>runhaskell Setup.hs configure</tt>+<li><tt>runhaskell Setup.hs build</tt>+<li><tt>runhaskell Setup.hs install</tt>+</ul>+There is+<a href="docs/hscolour/index.html">haddock documentation of the API</a>.++<p>+<a name="haddock"></a>+<h2>Using HsColour with Haddock</h2>+Let's say you want to generate some pretty-coloured HTML versions of+your source files, at the same time as you are generating library+documentation using <a href="http://haskell.org/haddock">Haddock</a>.+Haddock (1.8 onwards, currently only available in darcs) has options+to link the API docs to the source code itself. Here is a quick summary+of the shell commands to use:+<pre>+for file in $(SRCS)+do HsColour -anchorHTML $file >docs/`dirname $file'/`basename $file .hs`.html+done+haddock --html --title="My Library" --odir=docs $(SRCS) \+ --source-module="src/%{MODULE/.//}.html" \+ --source-entity="src/%{MODULE/.//}.html#%{NAME}"+</pre>++<p>+<h2>Copyright and licence</h2>+<b>hscolour</b> is © Malcolm Wallace 2003-2006. It is distributed+under the Gnu GPL, which can be found in the file+<a href="LICENCE-GPL">LICENCE-GPL</a>.++<h2>Shortcomings</h2>+<p>+HsColour is not yet able to add anchors to class methods, nor to+<em>foreign</em> decls.++<h2>Alternatives</h2>+<p>+The <a href="http://www.cse.ogi.edu/~hallgren/Programatica/tools/pfe.cgi">+Programatica</a> project has a more sophisticated HTML+syntax-highlighter. It hyperlinks every usage of an identifier to its+definition, which is highly useful for browsing large amounts of code.+However, it is a more heavyweight solution as well - requiring the+entire front-end of a compiler not only to parse the Haskell code, but+to chase all its module dependencies as well. As a consequence, you need+source access to every definition used in your program, including the+Prelude and all library packages...++<h2>History</h2>+<p>+<dl>+<dt>1.6</dt><dd> added -latex output mode</dd>+<dt>1.5</dt><dd> move generated HTML anchors to before comments/typesigs</dd>+<dt>1.4</dt><dd> made available as a Cabal-ised library</dd>+<dt>1.3</dt><dd> added HTML and CSS anchors</dd>+<dt>1.2</dt><dd> added CSS output mode (from Neil Mitchell)</dd>+<dt>1.1</dt><dd> fixed compatibility with ghc-6.4</dd>+<dt>1.0</dt><dd> first release</dd>+</dl>++<p>+This page last modified: 21st December 2006<br>+Malcolm Wallace<br>++</td></tr></table>+</body></html>+