stack-1.9.3: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Text.PrettyPrint.Leijen.Extended

Contents

Description

This module re-exports some of the interface for Text.PrettyPrint.Annotated.Leijen along with additional definitions useful for stack.

It defines a Monoid instance for Doc.

Synopsis

Pretty-print typeclass

class Display a where #

Minimal complete definition

Nothing

Associated Types

type Ann a #

Methods

display :: a -> Doc (Ann a) #

display :: Show a => a -> Doc (Ann a) #

Instances
Display ModuleName # 
Instance details

Defined in Stack.PrettyPrint

Associated Types

type Ann ModuleName :: Type #

Display PackageName # 
Instance details

Defined in Stack.PrettyPrint

Associated Types

type Ann PackageName :: Type #

Display Version # 
Instance details

Defined in Stack.PrettyPrint

Associated Types

type Ann Version :: Type #

Methods

display :: Version -> Doc (Ann Version) #

Display PackageIdentifier # 
Instance details

Defined in Stack.PrettyPrint

Associated Types

type Ann PackageIdentifier :: Type #

Display (Doc a) # 
Instance details

Defined in Text.PrettyPrint.Leijen.Extended

Associated Types

type Ann (Doc a) :: Type #

Methods

display :: Doc a -> Doc (Ann (Doc a)) #

Display (PackageName, NamedComponent) # 
Instance details

Defined in Stack.PrettyPrint

Associated Types

type Ann (PackageName, NamedComponent) :: Type #

Display (Path b Dir) # 
Instance details

Defined in Stack.PrettyPrint

Associated Types

type Ann (Path b Dir) :: Type #

Methods

display :: Path b Dir -> Doc (Ann (Path b Dir)) #

Display (Path b File) # 
Instance details

Defined in Stack.PrettyPrint

Associated Types

type Ann (Path b File) :: Type #

Methods

display :: Path b File -> Doc (Ann (Path b File)) #

Ansi terminal Doc

newtype AnsiAnn #

Constructors

AnsiAnn [SGR] 

class HasAnsiAnn a where #

Minimal complete definition

getAnsiAnn

Methods

getAnsiAnn :: a -> AnsiAnn #

toAnsiDoc :: Doc a -> AnsiDoc #

Instances
HasAnsiAnn () # 
Instance details

Defined in Text.PrettyPrint.Leijen.Extended

Methods

getAnsiAnn :: () -> AnsiAnn #

toAnsiDoc :: Doc () -> AnsiDoc #

HasAnsiAnn AnsiAnn # 
Instance details

Defined in Text.PrettyPrint.Leijen.Extended

hDisplayAnsi :: (Display a, HasAnsiAnn (Ann a), MonadIO m) => Handle -> Int -> a -> m () #

displayAnsi :: (Display a, HasAnsiAnn (Ann a)) => Int -> a -> Text #

displayPlain :: Display a => Int -> a -> Text #

renderDefault :: Int -> Doc a -> SimpleDoc a #

Color combinators

Intensity combinators

Selective re-exports from Text.PrettyPrint.Annotated.Leijen

Documents, parametrized by their annotations

data Doc a #

Instances
Functor Doc 
Instance details

Defined in Text.PrettyPrint.Annotated.Leijen

Methods

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

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

Show (Doc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.Leijen

Methods

showsPrec :: Int -> Doc a -> ShowS #

show :: Doc a -> String #

showList :: [Doc a] -> ShowS #

IsString (Doc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.Leijen

Methods

fromString :: String -> Doc a #

Semigroup (Doc a) # 
Instance details

Defined in Text.PrettyPrint.Leijen.Extended

Methods

(<>) :: Doc a -> Doc a -> Doc a #

sconcat :: NonEmpty (Doc a) -> Doc a #

stimes :: Integral b => b -> Doc a -> Doc a #

Monoid (Doc a) # 
Instance details

Defined in Text.PrettyPrint.Leijen.Extended

Methods

mempty :: Doc a #

mappend :: Doc a -> Doc a -> Doc a #

mconcat :: [Doc a] -> Doc a #

Display (Doc a) # 
Instance details

Defined in Text.PrettyPrint.Leijen.Extended

Associated Types

type Ann (Doc a) :: Type #

Methods

display :: Doc a -> Doc (Ann (Doc a)) #

type Ann (Doc a) # 
Instance details

Defined in Text.PrettyPrint.Leijen.Extended

type Ann (Doc a) = a

Basic combinators

nest :: Int -> Doc a -> Doc a #

line :: Doc a #

group :: Doc a -> Doc a #

Alignment

align :: Doc a -> Doc a #

hang :: Int -> Doc a -> Doc a #

indent :: Int -> Doc a -> Doc a #

encloseSep :: Doc a -> Doc a -> Doc a -> [Doc a] -> Doc a #

Operators

(<+>) :: Doc a -> Doc a -> Doc a #

List combinators

hsep :: [Doc a] -> Doc a #

vsep :: [Doc a] -> Doc a #

fillSep :: [Doc a] -> Doc a #

sep :: [Doc a] -> Doc a #

hcat :: [Doc a] -> Doc a #

vcat :: [Doc a] -> Doc a #

fillCat :: [Doc a] -> Doc a #

cat :: [Doc a] -> Doc a #

punctuate :: Doc a -> [Doc a] -> [Doc a] #

Fillers

fill :: Int -> Doc a -> Doc a #

fillBreak :: Int -> Doc a -> Doc a #

Bracketing combinators

enclose :: Doc a -> Doc a -> Doc a -> Doc a #

squotes :: Doc a -> Doc a #

dquotes :: Doc a -> Doc a #

parens :: Doc a -> Doc a #

angles :: Doc a -> Doc a #

braces :: Doc a -> Doc a #

brackets :: Doc a -> Doc a #

Character documents

Primitive type documents

Semantic annotations

annotate :: a -> Doc a -> Doc a #

noAnnotate :: Doc a -> Doc a #

Rendering

Undocumented

Orphan instances

Semigroup (Doc a) # 
Instance details

Methods

(<>) :: Doc a -> Doc a -> Doc a #

sconcat :: NonEmpty (Doc a) -> Doc a #

stimes :: Integral b => b -> Doc a -> Doc a #

Monoid (Doc a) # 
Instance details

Methods

mempty :: Doc a #

mappend :: Doc a -> Doc a -> Doc a #

mconcat :: [Doc a] -> Doc a #