Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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
Doc
s.
Use the
pretty-simple
package to get a nicer layout for
show
n
Diag
s:
> Text.Pretty.Simple.pPrintNoColor . diag $ align (vcat ["foo", "bar"]) Column [ ( 10 , Nesting [ ( 10 , Cat ( Text 3 "foo" ) ( Cat ( FlatAlt Line Empty ) ( Text 3 "bar" ) ) ) ] ) ]
Synopsis
-
data
Diag
ann
- = 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
- diag' :: [ Int ] -> [ PageWidth ] -> [ Int ] -> Doc ann -> Diag ann
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
.
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")))])]