{-# LANGUAGE DerivingVia #-}
module Text.PrettyPrint.GenericPretty.ViaShow
( module Text.PrettyPrint.GenericPretty.ViaShow
, Text.PrettyPrint.GenericPretty.Out
) where
import Text.PrettyPrint.GenericPretty ( Out(..) )
import qualified Text.PrettyPrint
newtype OutShowly a = OutShowly { forall a. OutShowly a -> a
unOutShowly :: a }
instance Show a => Out (OutShowly a) where
doc :: OutShowly a -> Doc
doc (OutShowly a
a) = String -> Doc
Text.PrettyPrint.text (String -> Doc) -> String -> Doc
forall a b. (a -> b) -> a -> b
$ a -> String
forall a. Show a => a -> String
show a
a
docPrec :: Int -> OutShowly a -> Doc
docPrec Int
n (OutShowly a
a) = String -> Doc
Text.PrettyPrint.text (String -> Doc) -> String -> Doc
forall a b. (a -> b) -> a -> b
$ Int -> a -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
n a
a String
""