table-layout-0.5.0.0: src/Text/Layout/Table/Primitives/LenSpec/Internal.hs
module Text.Layout.Table.Primitives.LenSpec.Internal
( LenSpec (..)
, expand
, fixed
, expandUntil
, fixedUntil
) where
import Data.Default.Class
-- | Determines how long a column will be.
data LenSpec = Expand | Fixed Int | ExpandUntil Int | FixedUntil Int
instance Default LenSpec where
def = expand
-- | Allows columns to use as much space as needed.
expand :: LenSpec
expand = Expand
-- | Fixes column length to a specific width.
fixed :: Int -> LenSpec
fixed = Fixed
-- | The column will expand as long as it is smaller as the given width.
expandUntil :: Int -> LenSpec
expandUntil = ExpandUntil
-- | The column will be at least as wide as the given width.
fixedUntil :: Int -> LenSpec
fixedUntil = FixedUntil