module Chiasma.Data.Direction where import Prelude hiding (Down, Left, Right) import Chiasma.Class.CmdArgs (CmdArgs (cmdArgs)) data Direction = Up | Down | Left | Right deriving stock (Direction -> Direction -> Bool (Direction -> Direction -> Bool) -> (Direction -> Direction -> Bool) -> Eq Direction forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: Direction -> Direction -> Bool == :: Direction -> Direction -> Bool $c/= :: Direction -> Direction -> Bool /= :: Direction -> Direction -> Bool Eq, Int -> Direction -> ShowS [Direction] -> ShowS Direction -> String (Int -> Direction -> ShowS) -> (Direction -> String) -> ([Direction] -> ShowS) -> Show Direction forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> Direction -> ShowS showsPrec :: Int -> Direction -> ShowS $cshow :: Direction -> String show :: Direction -> String $cshowList :: [Direction] -> ShowS showList :: [Direction] -> ShowS Show) instance CmdArgs Direction where cmdArgs :: Direction -> [Text] cmdArgs = \case Direction Up -> [Text Item [Text] "-U"] Direction Down -> [Text Item [Text] "-D"] Direction Left -> [Text Item [Text] "-L"] Direction Right -> [Text Item [Text] "-R"]