module Lambdabot.Plugin.Haskell.Free.Util (
Pretty(..),
prettyParen,
prettyParenIndent,
module Text.PrettyPrint.HughesPJ
) where
import Text.PrettyPrint.HughesPJ
class Pretty a where
prettyP :: Int -> a -> Doc
pretty :: a -> Doc
pretty a
x = Int -> a -> Doc
forall a. Pretty a => Int -> a -> Doc
prettyP Int
0 a
x
prettyParen :: Bool -> Doc -> Doc
prettyParen :: Bool -> Doc -> Doc
prettyParen Bool
b Doc
doc
= if Bool
b then Doc -> Doc
parens Doc
doc else Doc
doc
prettyParenIndent :: Bool -> Doc -> Doc
prettyParenIndent :: Bool -> Doc -> Doc
prettyParenIndent Bool
b Doc
doc
= if Bool
b
then [Doc] -> Doc
vcat [Doc
lparen, Int -> Doc -> Doc
nest Int
2 Doc
doc, Doc
rparen]
else Doc
doc