ghc-7.8.2: The GHC API

Safe Haskell | None
Language | Haskell98

Pretty

Synopsis

- data Doc
- data Mode
  - = PageMode
  - | ZigZagMode
  - | LeftMode
  - | OneLineMode
- data TextDetails
  - = Chr !Char
  - | Str String
  - | PStr FastString
  - | ZStr FastZString
  - | LStr !LitString FastInt
- empty :: Doc
- isEmpty :: Doc -> Bool
- nest :: Int -> Doc -> Doc
- char :: Char -> Doc
- text :: String -> Doc
- ftext :: FastString -> Doc
- ptext :: LitString -> Doc
- ztext :: FastZString -> Doc
- zeroWidthText :: String -> Doc
- int :: Int -> Doc
- integer :: Integer -> Doc
- float :: Float -> Doc
- double :: Double -> Doc
- rational :: Rational -> Doc
- parens :: Doc -> Doc
- brackets :: Doc -> Doc
- braces :: Doc -> Doc
- quotes :: Doc -> Doc
- quote :: Doc -> Doc
- doubleQuotes :: Doc -> Doc
- semi :: Doc
- comma :: Doc
- colon :: Doc
- space :: Doc
- equals :: Doc
- lparen :: Doc
- rparen :: Doc
- lbrack :: Doc
- rbrack :: Doc
- lbrace :: Doc
- rbrace :: Doc
- cparen :: Bool -> Doc -> Doc
- (<>) :: Doc -> Doc -> Doc
- (<+>) :: Doc -> Doc -> Doc
- hcat :: [Doc] -> Doc
- hsep :: [Doc] -> Doc
- ($$) :: Doc -> Doc -> Doc
- ($+$) :: Doc -> Doc -> Doc
- vcat :: [Doc] -> Doc
- sep :: [Doc] -> Doc
- cat :: [Doc] -> Doc
- fsep :: [Doc] -> Doc
- fcat :: [Doc] -> Doc
- hang :: Doc -> Int -> Doc -> Doc
- punctuate :: Doc -> [Doc] -> [Doc]
- fullRender :: Mode -> Int -> Float -> (TextDetails -> a -> a) -> a -> Doc -> a
- printDoc :: Mode -> Int -> Handle -> Doc -> IO ()
- printDoc_ :: Mode -> Int -> Handle -> Doc -> IO ()
- showDoc :: Mode -> Int -> Doc -> String
- bufLeftRender :: BufHandle -> Doc -> IO ()

# Documentation

data Doc

Instances

Show Doc |

data Mode

Constructors

PageMode |
ZigZagMode |
LeftMode |
OneLineMode |

data TextDetails

Constructors

Chr !Char |
Str String |
PStr FastString |
ZStr FastZString |
LStr !LitString FastInt |

empty :: Doc

isEmpty :: Doc -> Bool

nest :: Int -> Doc -> Doc

char :: Char -> Doc

text :: String -> Doc

ftext :: FastString -> Doc

ptext :: LitString -> Doc

ztext :: FastZString -> Doc

zeroWidthText :: String -> Doc

Some text, but without any width. Use for non-printing text such as a HTML or Latex tags

int :: Int -> Doc

integer :: Integer -> Doc

float :: Float -> Doc

double :: Double -> Doc

rational :: Rational -> Doc

parens :: Doc -> Doc

brackets :: Doc -> Doc

braces :: Doc -> Doc

quotes :: Doc -> Doc

quote :: Doc -> Doc

doubleQuotes :: Doc -> Doc

semi :: Doc

comma :: Doc

colon :: Doc

space :: Doc

equals :: Doc

lparen :: Doc

rparen :: Doc

lbrack :: Doc

rbrack :: Doc

lbrace :: Doc

rbrace :: Doc

cparen :: Bool -> Doc -> Doc

(<>) :: Doc -> Doc -> Doc infixl 6

(<+>) :: Doc -> Doc -> Doc infixl 6

hcat :: [Doc] -> Doc

hsep :: [Doc] -> Doc

($$) :: Doc -> Doc -> Doc infixl 5

($+$) :: Doc -> Doc -> Doc infixl 5

vcat :: [Doc] -> Doc

sep :: [Doc] -> Doc

cat :: [Doc] -> Doc

fsep :: [Doc] -> Doc

fcat :: [Doc] -> Doc

hang :: Doc -> Int -> Doc -> Doc

punctuate :: Doc -> [Doc] -> [Doc]

fullRender :: Mode -> Int -> Float -> (TextDetails -> a -> a) -> a -> Doc -> a

printDoc :: Mode -> Int -> Handle -> Doc -> IO ()

printDoc_ :: Mode -> Int -> Handle -> Doc -> IO ()

showDoc :: Mode -> Int -> Doc -> String

bufLeftRender :: BufHandle -> Doc -> IO ()