module Pretty where import qualified Data.Text.Lazy.Builder as B import Data.Text.Lazy.Builder (Builder) import Data.Text.Lazy (Text) import System.IO (hIsTerminalDevice, stdout) import System.IO.Unsafe (unsafePerformIO) class Pretty a where pretty' :: a -> Builder pretty :: a -> Text pretty = B.toLazyText . pretty' stdoutIsTTY :: Bool stdoutIsTTY = unsafePerformIO $ hIsTerminalDevice stdout