{-# LANGUAGE CPP #-}
module HsColour(hsColourHTML, hsColourConsole) where

#ifdef GPL_SCARES_ME

hsColourConsole :: IO (String -> String)
hsColourConsole = pure id

hsColourHTML :: String -> String
hsColourHTML = id

#else

import Data.Functor
import Prelude

import Language.Haskell.HsColour.TTY as TTY
import Language.Haskell.HsColour.Colourise
import Language.Haskell.HsColour.CSS as CSS


hsColourConsole :: IO (String -> String)
hsColourConsole :: IO (String -> String)
hsColourConsole = ColourPrefs -> String -> String
TTY.hscolour (ColourPrefs -> String -> String)
-> IO ColourPrefs -> IO (String -> String)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> IO ColourPrefs
readColourPrefs

hsColourHTML :: String -> String
hsColourHTML :: String -> String
hsColourHTML = Bool -> Int -> String -> String
CSS.hscolour Bool
False Int
1

#endif