| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Prettyprinter.Internal.Debug
Description
Warning: internal module! This means that the API may change arbitrarily between versions without notice. Depending on this module may lead to unexpected breakages, so proceed with caution!
This module provides debugging helpers for inspecting Docs.
Use the pretty-simple package to get a nicer layout for shown
Diags:
> Text.Pretty.Simple.pPrintNoColor . diag $ align (vcat ["foo", "bar"])
Column
[
( 10
, Nesting
[
( 10
, Cat ( Text 3 "foo" )
( Cat ( FlatAlt Line Empty ) ( Text 3 "bar" ) )
)
]
)
]Documentation
A variant of Doc for debugging.
Unlike in the Doc type, the Column, WithPageWidth and Nesting
constructors don't contain functions but are "sampled" to allow
simple inspection with show.
Constructors
| Fail | |
| Empty | |
| Char !Char | |
| Text !Int !Text | |
| Line | |
| FlatAlt (Diag ann) (Diag ann) | |
| Cat (Diag ann) (Diag ann) | |
| Nest !Int (Diag ann) | |
| Union (Diag ann) (Diag ann) | |
| Column [(Int, Diag ann)] |
|
| WithPageWidth [(PageWidth, Diag ann)] |
|
| Nesting [(Int, Diag ann)] |
|
| Annotated ann (Diag ann) |
diag :: Doc ann -> Diag ann Source #
Convert a Doc to its diagnostic representation.
The functions in the Column, WithPageWidth and Nesting constructors are
sampled with some default values.
Use diag' to control the function inputs yourself.
>>>diag $ Doc.align (Doc.vcat ["foo", "bar"])Column [(10,Nesting [(10,Cat (Text 3 "foo") (Cat (FlatAlt Line Empty) (Text 3 "bar")))])]