module Chiasma.Data.KillPaneParams where import Chiasma.Class.CmdArgs (CmdArgs (cmdArgs), flag1) import Chiasma.Data.Target (Target) data KillPaneParams = KillPaneParams { KillPaneParams -> Bool allbut :: Bool, KillPaneParams -> Target target :: Target } deriving stock (KillPaneParams -> KillPaneParams -> Bool (KillPaneParams -> KillPaneParams -> Bool) -> (KillPaneParams -> KillPaneParams -> Bool) -> Eq KillPaneParams forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: KillPaneParams -> KillPaneParams -> Bool $c/= :: KillPaneParams -> KillPaneParams -> Bool == :: KillPaneParams -> KillPaneParams -> Bool $c== :: KillPaneParams -> KillPaneParams -> Bool Eq, Int -> KillPaneParams -> ShowS [KillPaneParams] -> ShowS KillPaneParams -> String (Int -> KillPaneParams -> ShowS) -> (KillPaneParams -> String) -> ([KillPaneParams] -> ShowS) -> Show KillPaneParams forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [KillPaneParams] -> ShowS $cshowList :: [KillPaneParams] -> ShowS show :: KillPaneParams -> String $cshow :: KillPaneParams -> String showsPrec :: Int -> KillPaneParams -> ShowS $cshowsPrec :: Int -> KillPaneParams -> ShowS Show) instance Default KillPaneParams where def :: KillPaneParams def = KillPaneParams :: Bool -> Target -> KillPaneParams KillPaneParams { $sel:allbut:KillPaneParams :: Bool allbut = Bool False, $sel:target:KillPaneParams :: Target target = Target forall a. Default a => a def } instance CmdArgs KillPaneParams where cmdArgs :: KillPaneParams -> [Text] cmdArgs KillPaneParams {Bool Target target :: Target allbut :: Bool $sel:target:KillPaneParams :: KillPaneParams -> Target $sel:allbut:KillPaneParams :: KillPaneParams -> Bool ..} = Text -> Bool -> [Text] flag1 Text "-a" Bool allbut [Text] -> [Text] -> [Text] forall a. Semigroup a => a -> a -> a <> Target -> [Text] forall a. CmdArgs a => a -> [Text] cmdArgs Target target