below with a line
Modulehledger-lib-1.52.4GHC2021
Text.Tabular.AsciiWide
Text.Tabular.AsciiArt from tabular-0.2.2.7, modified to treat wide characters as double width.
- 7 types
- 29 values
- Packagehledger-lib-1.52.4
- Exports36
- LanguageGHC2021
- LicenceGPL-3.0-or-later
- SourceAsciiWide.hs
below
below with a double line
besides
besides with a line
besides with a double line
Column header
Retrieve the contents of a header
The idea is to deal with the fact that Properties (e.g. borders) are not standalone cells but attributes of a cell. A border is just a CSS decoration of a TD element.
squish decorator f h applies f to every item
in the list represented by h (see flattenHeader),
additionally applying decorator if the item is
followed by some kind of boundary
So
o o o | o o o | o o
gets converted into
O O X O O X O O
zipHeader e ss h returns the same structure
as h except with all the text replaced by the contents
of ss.
If ss has too many cells, the excess is ignored.
If it has too few cells, the missing ones (at the end)
and replaced with the empty contents e
Constructors
Header hGroup Properties [Header h]
Instances1Show
Show PropertiesDefined in tabular-0.2.2.8 · Text.Tabular
Convenience type for just one row (or column). To be used with combinators as follows:
example2 =
empty ^..^ col "memtest 1" [] ^|^ col "memtest 2" []
^||^ col "time test "[] ^|^ col "time test 2" []
+.+ row "A 1" ["hog", "terrible", "slow", "slower"]
+.+ row "A 2" ["pig", "not bad", "fast", "slowest"]
+----+
row "B 1" ["good", "awful", "intolerable", "bearable"]
+.+ row "B 2" ["better", "no chance", "crawling", "amazing"]
+.+ row "B 3" ["meh", "well...", "worst ever", "ok"]example = Table
(Group SingleLine
[ Group NoLine [Header "A 1", Header "A 2"]
, Group NoLine [Header "B 1", Header "B 2", Header "B 3"]
])
(Group DoubleLine
[ Group SingleLine [Header "memtest 1", Header "memtest 2"]
, Group SingleLine [Header "time test 1", Header "time test 2"]
])
[ ["hog", "terrible", "slow", "slower"]
, ["pig", "not bad", "fast", "slowest"]
, ["good", "awful" , "intolerable", "bearable"]
, ["better", "no chance", "crawling", "amazing"]
, ["meh", "well...", "worst ever", "ok"]
]-- Text.Tabular.AsciiArt.render id id id example
--
-- || memtest 1 | memtest 2 || time test | time test 2
-- ====++===========+===========++=============+============
-- A 1 || hog | terrible || slow | slower
-- A 2 || pig | not bad || fast | slowest
-- ----++-----------+-----------++-------------+------------
-- B 1 || good | awful || intolerable | bearable
-- B 2 || better | no chance || crawling | amazing
-- B 3 || meh | well... || worst ever | okThe options to use for rendering a table.
Constructors
TableOptsprettyTable :: BoolPretty tables
tableBorders :: BoolWhether to display the outer borders
borderSpaces :: BoolWhether to display spaces around bars
Render a table according to common options, for backwards compatibility
renderTable Render a table according to various cell specifications>
renderTableB A version of renderTable which returns the underlying Builder.
renderTableByRowsB A version of renderTable that operates on rows (including the row of column headers) and returns the underlying Builder.
Render a single row according to cell specifications.
A version of renderRow which returns the underlying Builder.
renderColumns We stop rendering on the shortest list!
Cell contents along an alignment
Constructors
How to align text in a cell
Create a single-line cell from the given contents with its natural width.
Create a multi-line cell from the given contents with its natural width.
Return the width of a Cell.
Add the second table below the first, discarding its column headings.