module Chiasma.Data.Axis where import Data.Data (Data) import Prettyprinter (Pretty (pretty)) import Chiasma.Class.CmdArgs (CmdArgs (cmdArgs)) data Axis = Horizontal | Vertical deriving stock (Axis -> Axis -> Bool (Axis -> Axis -> Bool) -> (Axis -> Axis -> Bool) -> Eq Axis forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: Axis -> Axis -> Bool == :: Axis -> Axis -> Bool $c/= :: Axis -> Axis -> Bool /= :: Axis -> Axis -> Bool Eq, Int -> Axis -> ShowS [Axis] -> ShowS Axis -> String (Int -> Axis -> ShowS) -> (Axis -> String) -> ([Axis] -> ShowS) -> Show Axis forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> Axis -> ShowS showsPrec :: Int -> Axis -> ShowS $cshow :: Axis -> String show :: Axis -> String $cshowList :: [Axis] -> ShowS showList :: [Axis] -> ShowS Show, Typeable Axis Typeable Axis -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Axis -> c Axis) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Axis) -> (Axis -> Constr) -> (Axis -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Axis)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Axis)) -> ((forall b. Data b => b -> b) -> Axis -> Axis) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Axis -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Axis -> r) -> (forall u. (forall d. Data d => d -> u) -> Axis -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> Axis -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Axis -> m Axis) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Axis -> m Axis) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Axis -> m Axis) -> Data Axis Axis -> Constr Axis -> DataType (forall b. Data b => b -> b) -> Axis -> Axis forall a. Typeable a -> (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> Axis -> u forall u. (forall d. Data d => d -> u) -> Axis -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Axis -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Axis -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Axis -> m Axis forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Axis -> m Axis forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Axis forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Axis -> c Axis forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Axis) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Axis) $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Axis -> c Axis gfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Axis -> c Axis $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Axis gunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Axis $ctoConstr :: Axis -> Constr toConstr :: Axis -> Constr $cdataTypeOf :: Axis -> DataType dataTypeOf :: Axis -> DataType $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Axis) dataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Axis) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Axis) dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Axis) $cgmapT :: (forall b. Data b => b -> b) -> Axis -> Axis gmapT :: (forall b. Data b => b -> b) -> Axis -> Axis $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Axis -> r gmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Axis -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Axis -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Axis -> r $cgmapQ :: forall u. (forall d. Data d => d -> u) -> Axis -> [u] gmapQ :: forall u. (forall d. Data d => d -> u) -> Axis -> [u] $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Axis -> u gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Axis -> u $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Axis -> m Axis gmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> Axis -> m Axis $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Axis -> m Axis gmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Axis -> m Axis $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Axis -> m Axis gmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> Axis -> m Axis Data) instance Pretty Axis where pretty :: forall ann. Axis -> Doc ann pretty = \case Axis Horizontal -> Doc ann "h" Axis Vertical -> Doc ann "v" instance CmdArgs Axis where cmdArgs :: Axis -> [Text] cmdArgs = \case Axis Horizontal -> [Text Item [Text] "-h"] Axis Vertical -> [Text Item [Text] "-v"] instance Default Axis where def :: Axis def = Axis Vertical vertical :: Axis -> Bool vertical :: Axis -> Bool vertical = \case Axis Horizontal -> Bool False Axis Vertical -> Bool True