Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Frequently useful definitions for working with general prettyprinters.
Documentation
words :: Text -> [ Doc ann] Source #
Split an input into word-sized
Doc
s.
>>>
putDoc (tupled (words "Lorem ipsum dolor"))
(Lorem, ipsum, dolor)
reflow :: Text -> Doc ann Source #
Insert soft linebreaks between words, so that text is broken into multiple lines when it exceeds the available width.
>>>
putDocW 32 (reflow "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
reflow
=fillSep
.words
putDocW :: Int -> Doc ann -> IO () Source #
Render a document with a certain width. Useful for quick-and-dirty testing of layout behaviour. Used heavily in the doctests of this package, for example.
>>>
let doc = reflow "Lorem ipsum dolor sit amet, consectetur adipisicing elit"
>>>
putDocW 20 doc
Lorem ipsum dolor sit amet, consectetur adipisicing elit>>>
putDocW 30 doc
Lorem ipsum dolor sit amet, consectetur adipisicing elit