module Pretty where
  
import Text.Show.Pretty (ppShow)
import Language.Haskell.HsColour
import Language.Haskell.HsColour.Colourise
import ClassyPrelude

cpprint :: (MonadIO m, Show a) => a -> m ()
cpprint :: forall (m :: * -> *) a. (MonadIO m, Show a) => a -> m ()
cpprint = Text -> m ()
forall (m :: * -> *). MonadIO m => Text -> m ()
putStrLn (Text -> m ()) -> (a -> Text) -> a -> m ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. [Char] -> Text
[Element Text] -> Text
forall seq. IsSequence seq => [Element seq] -> seq
pack ([Char] -> Text) -> (a -> [Char]) -> a -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Output
-> ColourPrefs
-> Bool
-> Bool
-> [Char]
-> Bool
-> [Char]
-> [Char]
hscolour Output
TTY ColourPrefs
defaultColourPrefs Bool
False Bool
False [Char]
"" Bool
False ([Char] -> [Char]) -> (a -> [Char]) -> a -> [Char]
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. a -> [Char]
forall a. Show a => a -> [Char]
ppShow

cprint :: (MonadIO m, Show a) => a -> m ()
cprint :: forall (m :: * -> *) a. (MonadIO m, Show a) => a -> m ()
cprint = Text -> m ()
forall (m :: * -> *). MonadIO m => Text -> m ()
putStrLn (Text -> m ()) -> (a -> Text) -> a -> m ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. [Char] -> Text
[Element Text] -> Text
forall seq. IsSequence seq => [Element seq] -> seq
pack ([Char] -> Text) -> (a -> [Char]) -> a -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Output
-> ColourPrefs
-> Bool
-> Bool
-> [Char]
-> Bool
-> [Char]
-> [Char]
hscolour Output
TTY ColourPrefs
defaultColourPrefs Bool
False Bool
False [Char]
"" Bool
False ([Char] -> [Char]) -> (a -> [Char]) -> a -> [Char]
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. a -> [Char]
forall a. Show a => a -> [Char]
show

pprint :: (MonadIO m, Show a) => a -> m ()
pprint :: forall (m :: * -> *) a. (MonadIO m, Show a) => a -> m ()
pprint = Text -> m ()
forall (m :: * -> *). MonadIO m => Text -> m ()
putStrLn (Text -> m ()) -> (a -> Text) -> a -> m ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. [Char] -> Text
[Element Text] -> Text
forall seq. IsSequence seq => [Element seq] -> seq
pack ([Char] -> Text) -> (a -> [Char]) -> a -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. a -> [Char]
forall a. Show a => a -> [Char]
ppShow