module Text.Layout.Table.Style where
data TableStyle = TableStyle
{ headerSepH :: Char
, headerSepLC :: Char
, headerSepRC :: Char
, headerSepC :: Char
, headerTopL :: Char
, headerTopR :: Char
, headerTopC :: Char
, headerTopH :: Char
, headerV :: Char
, groupV :: Char
, groupSepH :: Char
, groupSepC :: Char
, groupSepLC :: Char
, groupSepRC :: Char
, groupTopC :: Char
, groupTopL :: Char
, groupTopR :: Char
, groupTopH :: Char
, groupBottomC :: Char
, groupBottomL :: Char
, groupBottomR :: Char
, groupBottomH :: Char
}
asciiRoundS :: TableStyle
asciiRoundS = TableStyle
{ headerSepH = '='
, headerSepLC = ':'
, headerSepRC = ':'
, headerSepC = ':'
, headerTopL = '.'
, headerTopR = '.'
, headerTopC = '.'
, headerTopH = '-'
, headerV = '|'
, groupV = '|'
, groupSepH = '-'
, groupSepC = '+'
, groupSepLC = ':'
, groupSepRC = ':'
, groupTopC = '.'
, groupTopL = '.'
, groupTopR = '.'
, groupTopH = '-'
, groupBottomC = '\''
, groupBottomL = '\''
, groupBottomR = '\''
, groupBottomH = '-'
}
asciiS :: TableStyle
asciiS = TableStyle
{ headerSepH = '-'
, headerSepLC = '+'
, headerSepRC = '+'
, headerSepC = '+'
, headerTopL = '+'
, headerTopR = '+'
, headerTopC = '+'
, headerTopH = '-'
, headerV = '|'
, groupV = '|'
, groupSepH = '-'
, groupSepC = '+'
, groupSepLC = '+'
, groupSepRC = '+'
, groupTopC = '+'
, groupTopL = '+'
, groupTopR = '+'
, groupTopH = '-'
, groupBottomC = '+'
, groupBottomL = '+'
, groupBottomR = '+'
, groupBottomH = '-'
}
unicodeS :: TableStyle
unicodeS = TableStyle
{ headerSepH = '═'
, headerSepLC = '╞'
, headerSepRC = '╡'
, headerSepC = '╪'
, headerTopL = '┌'
, headerTopR = '┐'
, headerTopC = '┬'
, headerTopH = '─'
, headerV = '│'
, groupV = '│'
, groupSepH = '─'
, groupSepC = '┼'
, groupSepLC = '├'
, groupSepRC = '┤'
, groupTopC = '┬'
, groupTopL = '┌'
, groupTopR = '┐'
, groupTopH = '─'
, groupBottomC = '┴'
, groupBottomL = '└'
, groupBottomR = '┘'
, groupBottomH = '─'
}
unicodeBoldHeaderS :: TableStyle
unicodeBoldHeaderS = unicodeS
{ headerSepH = '━'
, headerSepLC = '┡'
, headerSepRC = '┩'
, headerSepC = '╇'
, headerTopL = '┏'
, headerTopR = '┓'
, headerTopC = '┳'
, headerTopH = '━'
, headerV = '┃'
}
unicodeRoundS :: TableStyle
unicodeRoundS = unicodeS
{ groupTopL = roundedTL
, groupTopR = roundedTR
, groupBottomL = roundedBL
, groupBottomR = roundedBR
, headerTopL = roundedTL
, headerTopR = roundedTR
}
where
roundedTL = '╭'
roundedTR = '╮'
roundedBL = '╰'
roundedBR = '╯'
unicodeBoldS :: TableStyle
unicodeBoldS = TableStyle
{ headerSepH = '━'
, headerSepLC = '┣'
, headerSepRC = '┫'
, headerSepC = '╋'
, headerTopL = '┏'
, headerTopR = '┓'
, headerTopC = '┳'
, headerTopH = '━'
, headerV = '┃'
, groupV = '┃'
, groupSepH = '━'
, groupSepC = '╋'
, groupSepLC = '┣'
, groupSepRC = '┫'
, groupTopC = '┳'
, groupTopL = '┏'
, groupTopR = '┓'
, groupTopH = '━'
, groupBottomC = '┻'
, groupBottomL = '┗'
, groupBottomR = '┛'
, groupBottomH = '━'
}
unicodeBoldStripedS :: TableStyle
unicodeBoldStripedS = unicodeBoldS { groupSepH = '-', groupSepC = '┃', groupSepLC = '┃', groupSepRC = '┃' }
unicodeDoubleFrameS :: TableStyle
unicodeDoubleFrameS = TableStyle
{ headerSepH = '═'
, headerSepLC = '╠'
, headerSepRC = '╣'
, headerSepC = '╬'
, headerTopL = '╔'
, headerTopR = '╗'
, headerTopC = '╦'
, headerTopH = '═'
, headerV = '║'
, groupV = '║'
, groupSepH = '═'
, groupSepC = '╬'
, groupSepLC = '╠'
, groupSepRC = '╣'
, groupTopC = '╦'
, groupTopL = '╔'
, groupTopR = '╗'
, groupTopH = '═'
, groupBottomC = '╩'
, groupBottomL = '╚'
, groupBottomR = '╝'
, groupBottomH = '═'
}