1-- | Highlights Haskell code with ANSI terminal codes.
2module Language.Haskell.HsColour.TTY (hscolour,hscolourG) where
3
4import Language.Haskell.HsColour.ANSI as ANSI
5import Language.Haskell.HsColour.Classify
6import Language.Haskell.HsColour.Colourise
7import Language.Haskell.HsColour.Output(TerminalType(Ansi16Colour))
8
9-- | = 'hscolourG' 'Ansi16Colour'
10hscolour :: ColourPrefs -- ^ Colour preferences.
11         -> String      -- ^ Haskell source code.
12         -> String      -- ^ Coloured Haskell source code.
13hscolour = hscolourG Ansi16Colour
14
15-- | Highlights Haskell code with ANSI terminal codes.
16hscolourG terminalType pref = concatMap (renderTokenG terminalType pref) . tokenise
17
18
19renderToken :: ColourPrefs -> (TokenType,String) -> String
20renderToken = renderTokenG Ansi16Colour
21
22renderTokenG terminalType pref (t,s) = ANSI.highlightG terminalType (colourise pref t) s
23