module Text.Layout.Table.Spec.AlignSpec
( AlignSpec(..)
, noAlign
, occSpecAlign
, predAlign
, charAlign
) where
import Data.Default.Class
import Text.Layout.Table.Spec.OccSpec
data AlignSpec
= AlignOcc OccSpec
| NoAlign
instance Default AlignSpec where
def :: AlignSpec
def = AlignSpec
noAlign
noAlign :: AlignSpec
noAlign :: AlignSpec
noAlign = AlignSpec
NoAlign
occSpecAlign :: OccSpec -> AlignSpec
occSpecAlign :: OccSpec -> AlignSpec
occSpecAlign = OccSpec -> AlignSpec
AlignOcc
predAlign :: (Char -> Bool) -> AlignSpec
predAlign :: (Char -> Bool) -> AlignSpec
predAlign = OccSpec -> AlignSpec
occSpecAlign (OccSpec -> AlignSpec)
-> ((Char -> Bool) -> OccSpec) -> (Char -> Bool) -> AlignSpec
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Char -> Bool) -> OccSpec
predOccSpec
charAlign :: Char -> AlignSpec
charAlign :: Char -> AlignSpec
charAlign = (Char -> Bool) -> AlignSpec
predAlign ((Char -> Bool) -> AlignSpec)
-> (Char -> Char -> Bool) -> Char -> AlignSpec
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
(==)