-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A type class for rendering objects as text, pretty-printing, etc.
--
-- A type class for rendering objects as text, pretty-printing, etc.
@package text-render
@version 0.1.0.3
module Text.Render
-- | A class for pretty printing, and in general, for "showing" as a
-- Text.
class Show a => Render a where render = pack . show renderParens = render renderIO = return . render renderI = tell . render
-- | Render the object as a Text.
render :: Render a => a -> Text
-- | Many types of objects need to be rendered in parentheses.
renderParens :: Render a => a -> Text
-- | Render in the IO monad. Useful for objects containing IORefs.
renderIO :: (Render a, MonadIO m) => a -> m Text
renderI :: Render a => a -> Indenter
type Indenter = ReaderT Int (WriterT Text (State Int)) ()
indented :: Indenter -> Indenter
wrapIndented :: Render a => Text -> Text -> [a] -> Indenter
inNewLine :: Indenter -> Indenter
renderIndented :: Render a => Int -> a -> Text
renderIndentedStartingAt :: Render a => Int -> Int -> a -> Text
-- | Renders and surrounds in backticks. Useful for printing user input.
renderTicks :: Render a => a -> Text
instance Text.Render.Render GHC.Types.Int
instance Text.Render.Render GHC.Types.Bool
instance Text.Render.Render GHC.Integer.Type.Integer
instance Text.Render.Render GHC.Types.Double
instance Text.Render.Render Data.Text.Internal.Text
instance Text.Render.Render Text.Parsec.Error.ParseError
instance (Text.Render.Render a, Text.Render.Render b) => Text.Render.Render (a, b)
instance Text.Render.Render a => Text.Render.Render [a]