hindent-5.3.2: Extensible Haskell pretty printer
Safe HaskellNone
LanguageHaskell2010

HIndent.Types

Description

All types.

Synopsis

Documentation

newtype Printer a Source #

A pretty printing monad.

Constructors

Printer 

Instances

Instances details
Monad Printer Source # 
Instance details

Defined in HIndent.Types

Methods

(>>=) :: Printer a -> (a -> Printer b) -> Printer b #

(>>) :: Printer a -> Printer b -> Printer b #

return :: a -> Printer a #

Functor Printer Source # 
Instance details

Defined in HIndent.Types

Methods

fmap :: (a -> b) -> Printer a -> Printer b #

(<$) :: a -> Printer b -> Printer a #

Applicative Printer Source # 
Instance details

Defined in HIndent.Types

Methods

pure :: a -> Printer a #

(<*>) :: Printer (a -> b) -> Printer a -> Printer b #

liftA2 :: (a -> b -> c) -> Printer a -> Printer b -> Printer c #

(*>) :: Printer a -> Printer b -> Printer b #

(<*) :: Printer a -> Printer b -> Printer a #

MonadPlus Printer Source # 
Instance details

Defined in HIndent.Types

Methods

mzero :: Printer a #

mplus :: Printer a -> Printer a -> Printer a #

Alternative Printer Source # 
Instance details

Defined in HIndent.Types

Methods

empty :: Printer a #

(<|>) :: Printer a -> Printer a -> Printer a #

some :: Printer a -> Printer [a] #

many :: Printer a -> Printer [a] #

MonadState PrintState Printer Source # 
Instance details

Defined in HIndent.Types

data PrintState Source #

The state of the pretty printer.

Constructors

PrintState 

Fields

Instances

Instances details
MonadState PrintState Printer Source # 
Instance details

Defined in HIndent.Types

data Config Source #

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

Constructors

Config 

Fields

Instances

Instances details
FromJSON Config Source # 
Instance details

Defined in HIndent.Types

readExtension :: (Monad m, MonadFail m) => String -> m Extension Source #

Parse an extension.

defaultConfig :: Config Source #

Default style configuration.

data NodeInfo Source #

Information for each node in the AST.

Constructors

NodeInfo 

Fields

Instances

Instances details
Show NodeInfo Source # 
Instance details

Defined in HIndent.Types

data NodeComment Source #

Comment associated with a node. SrcSpan is the original source span of the comment.