module Language.Bash.Pretty where
import Prettyprinter
import Prettyprinter.Internal.Type (Doc(Empty))
import Prettyprinter.Render.String (renderString)
($+$) :: Doc ann -> Doc ann -> Doc ann
Doc ann
x $+$ :: forall ann. Doc ann -> Doc ann -> Doc ann
$+$ Doc ann
y = Doc ann
x Doc ann -> Doc ann -> Doc ann
forall a. Semigroup a => a -> a -> a
<> Doc ann
forall ann. Doc ann
line Doc ann -> Doc ann -> Doc ann
forall a. Semigroup a => a -> a -> a
<> Doc ann
y
($++$) :: Doc ann -> Doc ann -> Doc ann
Doc ann
Empty $++$ :: forall ann. Doc ann -> Doc ann -> Doc ann
$++$ Doc ann
y = Doc ann
y
Doc ann
x $++$ Doc ann
Empty = Doc ann
x
Doc ann
x $++$ Doc ann
y = Doc ann
x Doc ann -> Doc ann -> Doc ann
forall a. Semigroup a => a -> a -> a
<> Doc ann
forall ann. Doc ann
line Doc ann -> Doc ann -> Doc ann
forall a. Semigroup a => a -> a -> a
<> Doc ann
y
(<++>) :: Doc ann -> Doc ann -> Doc ann
Doc ann
Empty <++> :: forall ann. Doc ann -> Doc ann -> Doc ann
<++> Doc ann
y = Doc ann
y
Doc ann
x <++> Doc ann
Empty = Doc ann
x
Doc ann
x <++> Doc ann
y = Doc ann
x Doc ann -> Doc ann -> Doc ann
forall ann. Doc ann -> Doc ann -> Doc ann
<+> Doc ann
y
prettyText :: Pretty a => a -> String
prettyText :: forall a. Pretty a => a -> String
prettyText = SimpleDocStream Any -> String
forall ann. SimpleDocStream ann -> String
renderString (SimpleDocStream Any -> String)
-> (a -> SimpleDocStream Any) -> a -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. LayoutOptions -> Doc Any -> SimpleDocStream Any
forall ann. LayoutOptions -> Doc ann -> SimpleDocStream ann
layoutPretty LayoutOptions
defaultLayoutOptions (Doc Any -> SimpleDocStream Any)
-> (a -> Doc Any) -> a -> SimpleDocStream Any
forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> Doc Any
forall ann. a -> Doc ann
forall a ann. Pretty a => a -> Doc ann
pretty