module HaskellWorks.Data.Json.Internal.Doc ( hEncloseSep, text, red, dullgreen, cyan, ) where import Prettyprinter hEncloseSep :: Doc a -> Doc a -> Doc a -> [Doc a] -> Doc a hEncloseSep :: forall a. Doc a -> Doc a -> Doc a -> [Doc a] -> Doc a hEncloseSep Doc a l Doc a r Doc a s [Doc a] ds = case [Doc a] ds of [] -> Doc a l Doc a -> Doc a -> Doc a forall a. Semigroup a => a -> a -> a <> Doc a r [Doc a d] -> Doc a l Doc a -> Doc a -> Doc a forall a. Semigroup a => a -> a -> a <> Doc a d Doc a -> Doc a -> Doc a forall a. Semigroup a => a -> a -> a <> Doc a r [Doc a] _ -> [Doc a] -> Doc a forall ann. [Doc ann] -> Doc ann hcat ((Doc a -> Doc a -> Doc a) -> [Doc a] -> [Doc a] -> [Doc a] forall a b c. (a -> b -> c) -> [a] -> [b] -> [c] zipWith Doc a -> Doc a -> Doc a forall a. Semigroup a => a -> a -> a (<>) (Doc a l Doc a -> [Doc a] -> [Doc a] forall a. a -> [a] -> [a] : Doc a -> [Doc a] forall a. a -> [a] repeat Doc a s) [Doc a] ds) Doc a -> Doc a -> Doc a forall a. Semigroup a => a -> a -> a <> Doc a r text :: String -> Doc a text :: forall a. String -> Doc a text = String -> Doc a forall a. String -> Doc a forall a ann. Pretty a => a -> Doc ann pretty red :: Doc a -> Doc a red :: forall a. Doc a -> Doc a red = Doc a -> Doc a forall a. a -> a id dullgreen :: Doc a -> Doc a dullgreen :: forall a. Doc a -> Doc a dullgreen = Doc a -> Doc a forall a. a -> a id cyan :: Doc a -> Doc a cyan :: forall a. Doc a -> Doc a cyan = Doc a -> Doc a forall a. a -> a id