packages feed

table-layout-0.1.0.0: src/Test.hs

module Main where

import Control.Monad

import Text.Layout.Table

main :: IO ()
main = 
    forM_ styles $ \style ->
        forM_ layouts $ \layout -> (putStrLn "" >>) $ (print layout >>) $ mapM_ putStrLn $
            layoutTableToLines [ rowGroup [ [longText, smallNum]
                                          , [shortText, bigNum]
                                          ]
                               ]
                               (Just (["Some text", "Some numbers"], repeat centerHL))
                               [layout, layout]
                               style
  where
    longText  = "This is long text"
    shortText = "Short"
    bigNum    = "200300400500600.2"
    smallNum  = "4.20000000"
    styles    = [ asciiRoundS
                , unicodeS
                , unicodeRoundS
                , unicodeBoldS
                , unicodeBoldStripedS
                , unicodeBoldHeaderS
                ]
    layouts   = [ LayoutSpec l p a ellipsisCutMark
                | l <- [Expand, Fixed 10]
                , p <- [LeftPos, RightPos, CenterPos]
                , a <- [NoAlign, AlignAtChar $ OccSpec '.' 0]
                ]