| Copyright | Copyright (C) 2010-2016 John MacFarlane |
|---|---|
| License | GNU GPL, version 2 or above |
| Maintainer | John MacFarlane <jgm@berkeley.edu> |
| Stability | alpha |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell98 |
Text.Pandoc.Pretty
Description
A prettyprinting library for the production of text documents, including wrapped text, indentated blocks, and tables.
- data Doc
- render :: IsString a => Maybe Int -> Doc -> a
- cr :: Doc
- blankline :: Doc
- blanklines :: Int -> Doc
- space :: Doc
- text :: String -> Doc
- char :: Char -> Doc
- prefixed :: String -> Doc -> Doc
- flush :: Doc -> Doc
- nest :: Int -> Doc -> Doc
- hang :: Int -> Doc -> Doc -> Doc
- beforeNonBlank :: Doc -> Doc
- nowrap :: Doc -> Doc
- offset :: Doc -> Int
- height :: Doc -> Int
- lblock :: Int -> Doc -> Doc
- cblock :: Int -> Doc -> Doc
- rblock :: Int -> Doc -> Doc
- (<>) :: Monoid m => m -> m -> m
- (<+>) :: Doc -> Doc -> Doc
- ($$) :: Doc -> Doc -> Doc
- ($+$) :: Doc -> Doc -> Doc
- isEmpty :: Doc -> Bool
- empty :: Doc
- cat :: [Doc] -> Doc
- hcat :: [Doc] -> Doc
- hsep :: [Doc] -> Doc
- vcat :: [Doc] -> Doc
- vsep :: [Doc] -> Doc
- nestle :: Doc -> Doc
- chomp :: Doc -> Doc
- inside :: Doc -> Doc -> Doc -> Doc
- braces :: Doc -> Doc
- brackets :: Doc -> Doc
- parens :: Doc -> Doc
- quotes :: Doc -> Doc
- doubleQuotes :: Doc -> Doc
- charWidth :: Char -> Int
- realLength :: String -> Int
Documentation
render :: IsString a => Maybe Int -> Doc -> a Source #
Renders a Doc. render (Just n) will use
a line length of n to reflow text on breakable spaces.
render Nothing will not reflow text.
A carriage return. Does nothing if we're at the beginning of a line; otherwise inserts a newline.
Inserts a blank line unless one exists already.
(blankline <> blankline has the same effect as blankline.
blanklines :: Int -> Doc Source #
Inserts a blank lines unless they exists already.
(blanklines m <> blanklines n has the same effect as blankline (max m n).
prefixed :: String -> Doc -> Doc Source #
Uses the specified string as a prefix for every line of the inside document (except the first, if not at the beginning of the line).
hang :: Int -> Doc -> Doc -> Doc Source #
A hanging indent. hang ind start doc prints start,
then doc, leaving an indent of ind spaces on every
line but the first.
beforeNonBlank :: Doc -> Doc Source #
beforeNonBlank d conditionally includes d unless it is
followed by blank space.
lblock :: Int -> Doc -> Doc Source #
lblock n d is a block of width n characters, with
text derived from d and aligned to the left.
(<+>) :: Doc -> Doc -> Doc infixr 6 Source #
Concatenate a list of Docs, putting breakable spaces
between them.
charWidth :: Char -> Int Source #
Returns width of a character in a monospace font: 0 for a combining character, 1 for a regular character, 2 for an East Asian wide character.
realLength :: String -> Int Source #
Get real length of string, taking into account combining and double-wide characters.