{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveAnyClass #-}
module Brick.Widgets.Border.Style
( BorderStyle(..)
, borderStyleFromChar
, ascii
, unicode
, unicodeBold
, unicodeRounded
, defaultBorderStyle
)
where
import GHC.Generics
import Control.DeepSeq
data BorderStyle =
BorderStyle { BorderStyle -> Char
bsCornerTL :: Char
, BorderStyle -> Char
bsCornerTR :: Char
, BorderStyle -> Char
bsCornerBR :: Char
, BorderStyle -> Char
bsCornerBL :: Char
, BorderStyle -> Char
bsIntersectFull :: Char
, BorderStyle -> Char
bsIntersectL :: Char
, BorderStyle -> Char
bsIntersectR :: Char
, BorderStyle -> Char
bsIntersectT :: Char
, BorderStyle -> Char
bsIntersectB :: Char
, BorderStyle -> Char
bsHorizontal :: Char
, BorderStyle -> Char
bsVertical :: Char
}
deriving (Int -> BorderStyle -> ShowS
[BorderStyle] -> ShowS
BorderStyle -> String
(Int -> BorderStyle -> ShowS)
-> (BorderStyle -> String)
-> ([BorderStyle] -> ShowS)
-> Show BorderStyle
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BorderStyle] -> ShowS
$cshowList :: [BorderStyle] -> ShowS
show :: BorderStyle -> String
$cshow :: BorderStyle -> String
showsPrec :: Int -> BorderStyle -> ShowS
$cshowsPrec :: Int -> BorderStyle -> ShowS
Show, ReadPrec [BorderStyle]
ReadPrec BorderStyle
Int -> ReadS BorderStyle
ReadS [BorderStyle]
(Int -> ReadS BorderStyle)
-> ReadS [BorderStyle]
-> ReadPrec BorderStyle
-> ReadPrec [BorderStyle]
-> Read BorderStyle
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [BorderStyle]
$creadListPrec :: ReadPrec [BorderStyle]
readPrec :: ReadPrec BorderStyle
$creadPrec :: ReadPrec BorderStyle
readList :: ReadS [BorderStyle]
$creadList :: ReadS [BorderStyle]
readsPrec :: Int -> ReadS BorderStyle
$creadsPrec :: Int -> ReadS BorderStyle
Read, BorderStyle -> BorderStyle -> Bool
(BorderStyle -> BorderStyle -> Bool)
-> (BorderStyle -> BorderStyle -> Bool) -> Eq BorderStyle
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BorderStyle -> BorderStyle -> Bool
$c/= :: BorderStyle -> BorderStyle -> Bool
== :: BorderStyle -> BorderStyle -> Bool
$c== :: BorderStyle -> BorderStyle -> Bool
Eq, (forall x. BorderStyle -> Rep BorderStyle x)
-> (forall x. Rep BorderStyle x -> BorderStyle)
-> Generic BorderStyle
forall x. Rep BorderStyle x -> BorderStyle
forall x. BorderStyle -> Rep BorderStyle x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep BorderStyle x -> BorderStyle
$cfrom :: forall x. BorderStyle -> Rep BorderStyle x
Generic, BorderStyle -> ()
(BorderStyle -> ()) -> NFData BorderStyle
forall a. (a -> ()) -> NFData a
rnf :: BorderStyle -> ()
$crnf :: BorderStyle -> ()
NFData)
defaultBorderStyle :: BorderStyle
defaultBorderStyle :: BorderStyle
defaultBorderStyle = BorderStyle
unicode
borderStyleFromChar :: Char -> BorderStyle
borderStyleFromChar :: Char -> BorderStyle
borderStyleFromChar c :: Char
c =
Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> BorderStyle
BorderStyle Char
c Char
c Char
c Char
c Char
c Char
c Char
c Char
c Char
c Char
c Char
c
ascii :: BorderStyle
ascii :: BorderStyle
ascii =
BorderStyle :: Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> BorderStyle
BorderStyle { bsCornerTL :: Char
bsCornerTL = '+'
, bsCornerTR :: Char
bsCornerTR = '+'
, bsCornerBR :: Char
bsCornerBR = '+'
, bsCornerBL :: Char
bsCornerBL = '+'
, bsIntersectFull :: Char
bsIntersectFull = '+'
, bsIntersectL :: Char
bsIntersectL = '+'
, bsIntersectR :: Char
bsIntersectR = '+'
, bsIntersectT :: Char
bsIntersectT = '+'
, bsIntersectB :: Char
bsIntersectB = '+'
, bsHorizontal :: Char
bsHorizontal = '-'
, bsVertical :: Char
bsVertical = '|'
}
unicode :: BorderStyle
unicode :: BorderStyle
unicode =
BorderStyle :: Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> BorderStyle
BorderStyle { bsCornerTL :: Char
bsCornerTL = '┌'
, bsCornerTR :: Char
bsCornerTR = '┐'
, bsCornerBR :: Char
bsCornerBR = '┘'
, bsCornerBL :: Char
bsCornerBL = '└'
, bsIntersectFull :: Char
bsIntersectFull = '┼'
, bsIntersectL :: Char
bsIntersectL = '├'
, bsIntersectR :: Char
bsIntersectR = '┤'
, bsIntersectT :: Char
bsIntersectT = '┬'
, bsIntersectB :: Char
bsIntersectB = '┴'
, bsHorizontal :: Char
bsHorizontal = '─'
, bsVertical :: Char
bsVertical = '│'
}
unicodeBold :: BorderStyle
unicodeBold :: BorderStyle
unicodeBold =
BorderStyle :: Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> BorderStyle
BorderStyle { bsCornerTL :: Char
bsCornerTL = '┏'
, bsCornerTR :: Char
bsCornerTR = '┓'
, bsCornerBR :: Char
bsCornerBR = '┛'
, bsCornerBL :: Char
bsCornerBL = '┗'
, bsIntersectFull :: Char
bsIntersectFull = '╋'
, bsIntersectL :: Char
bsIntersectL = '┣'
, bsIntersectR :: Char
bsIntersectR = '┫'
, bsIntersectT :: Char
bsIntersectT = '┳'
, bsIntersectB :: Char
bsIntersectB = '┻'
, bsHorizontal :: Char
bsHorizontal = '━'
, bsVertical :: Char
bsVertical = '┃'
}
unicodeRounded :: BorderStyle
unicodeRounded :: BorderStyle
unicodeRounded =
BorderStyle :: Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> Char
-> BorderStyle
BorderStyle { bsCornerTL :: Char
bsCornerTL = '╭'
, bsCornerTR :: Char
bsCornerTR = '╮'
, bsCornerBR :: Char
bsCornerBR = '╯'
, bsCornerBL :: Char
bsCornerBL = '╰'
, bsIntersectFull :: Char
bsIntersectFull = '┼'
, bsIntersectL :: Char
bsIntersectL = '├'
, bsIntersectR :: Char
bsIntersectR = '┤'
, bsIntersectT :: Char
bsIntersectT = '┬'
, bsIntersectB :: Char
bsIntersectB = '┴'
, bsHorizontal :: Char
bsHorizontal = '─'
, bsVertical :: Char
bsVertical = '│'
}