module Main where
import Text.Layout.Table
main :: IO ()
main = putStrLn $ tableString [ column (expandUntil 30) left (charAlign ':') def
, column expand center noAlign noCutMark
]
unicodeRoundS
(titlesH ["Layout", "Result"])
rowGroups
where
rowGroups = flip concatMap styles $ \style ->
flip map columTs $ \(cSpec, is) ->
colsAllG center [ is
, genTable cSpec style
]
genTable c s = tableLines (repeat c)
s
(titlesH ["Some text", "Some numbers", "X"])
[ rowsG [ [longText, smallNum, "foo"]
, [shortText, bigNum, "bar"]
]
]
longText = "This is long text"
shortText = "Short"
bigNum = "200300400500600.2"
smallNum = "4.20000000"
styles = [ asciiS
, asciiRoundS
, unicodeS
, unicodeRoundS
, unicodeBoldS
, unicodeBoldStripedS
, unicodeBoldHeaderS
]
columTs = [ ( column l p a def
, ["len spec: " ++ dL, "position: " ++ pL, "alignment: " ++ aL]
)
| (l, dL) <- zip [expand, fixed 10, expandUntil 10, fixedUntil 10]
["expand", "fixed 10", "expand until 10", "fixed until 10"]
, (p, pL) <- zip [left, right, center] ["left", "right", "center"]
, (a, aL) <- zip [noAlign, dotAlign] ["no align", "align at '.'"]
]