|
Language.Haskell.Pretty | Portability | portable | Stability | experimental | Maintainer | libraries@haskell.org |
|
|
|
|
|
Description |
Pretty printer for Haskell.
|
|
Synopsis |
|
|
|
|
Pretty printing
|
|
class Pretty a |
|
|
prettyPrintStyleMode :: Pretty a => Style -> PPHsMode -> a -> String |
pretty-print with a given style and mode.
|
|
prettyPrintWithMode :: Pretty a => PPHsMode -> a -> String |
pretty-print with the default style and a given mode.
|
|
prettyPrint :: Pretty a => a -> String |
pretty-print with the default style and defaultMode.
|
|
Pretty-printing styles (from Text.PrettyPrint.HughesPJ)
|
|
Style (Style, mode, lineLength, ribbonsPerLine) |
|
style |
|
Mode (PageMode, ZigZagMode, LeftMode, OneLineMode) |
|
Haskell formatting modes
|
|
data PPHsMode |
Pretty-printing parameters.
Note: the onsideIndent must be positive and less than all other indents.
| Constructors | PPHsMode | | classIndent :: Indent | indentation of a class or instance
| doIndent :: Indent | indentation of a do-expression
| caseIndent :: Indent | indentation of the body of a
case expression
| letIndent :: Indent | indentation of the declarations in a
let expression
| whereIndent :: Indent | indentation of the declarations in a
where clause
| onsideIndent :: Indent | indentation added for continuation
lines that would otherwise be offside
| spacing :: Bool | blank lines between statements?
| layout :: PPLayout | Pretty-printing style to use
| linePragmas :: Bool | add GHC-style LINE pragmas to output?
| comments :: Bool | not implemented yet
|
|
|
|
|
type Indent = Int |
|
data PPLayout |
Varieties of layout we can use.
| Constructors | PPOffsideRule | classical layout
| PPSemiColon | classical layout made explicit
| PPInLine | inline decls, with newlines between them
| PPNoLayout | everything on a single line
|
| Instances | |
|
|
defaultMode :: PPHsMode |
The default mode: pretty-print using the offside rule and sensible
defaults.
|
|
Produced by Haddock version 0.8 |