table-layout-0.8.0.4: src/Text/Layout/Table/Internal.hs
module Text.Layout.Table.Internal where
import Data.Default.Class
import Data.Default.Instances.Base
import Text.Layout.Table.Position
import Text.Layout.Table.Primitives.Basic
-- | Groups rows together which should not be visually seperated from each other.
newtype RowGroup
= RowGroup
{ rows :: [[String]]
}
-- | Group the given rows together.
rowsG :: [Row String] -> RowGroup
rowsG = RowGroup
-- | Make a group of a single row.
rowG :: Row String -> RowGroup
rowG = RowGroup . (: [])
-- | Specifies how a header is rendered.
data HeaderColSpec = HeaderColSpec (Position H) (Maybe CutMark)
-- | Smart constructor for 'HeaderColSpec'. By omitting the cut mark it will use
-- the one specified in the 'Text.Layout.Primitives.Column.ColSpec' like the
-- other cells in that column.
headerColumn :: Position H -> Maybe CutMark -> HeaderColSpec
headerColumn = HeaderColSpec
-- | Header columns are usually centered.
instance Default HeaderColSpec where
def = headerColumn center def
-- | An alias for lists, conceptually for values with a horizontal arrangement.
type Row a = [a]
-- | An alias for lists, conceptually for values with a vertical arrangement.
type Col a = [a]