hindent-0.0: Extensible Haskell pretty printer

Safe HaskellNone

HIndent.Types

Description

All types.

Synopsis

Documentation

newtype Printer a Source

A pretty printing monad.

Constructors

Printer 

data PrintState Source

The state of the pretty printer.

Constructors

forall s . PrintState 

Fields

psIndentLevel :: !Int64

Current indentation level.

psOutput :: !Builder

The current output.

psNewline :: !Bool

Just outputted a newline?

psColumn :: !Int64

Current column.

psLine :: !Int64

Current line number.)

psUserState :: !s

User state.

psExtenders :: ![Extender s]

Extenders.

psConfig :: !Config

Config which styles may or may not pay attention to.

data Extender s Source

A printer extender. Takes as argument the user state that the printer was run with, and the current node to print. Use prettyInternal to fallback to the built-in printer.

Constructors

forall a . Typeable a => Extender (s -> a -> Printer ()) 

data Style Source

A printer style.

Constructors

forall s . Style 

data Config Source

Configurations shared among the different styles. Styles may pay attention to or completely disregard this configuration.

Constructors

Config 

Instances