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