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 $c== :: KillPaneParams -> KillPaneParams -> Bool == :: KillPaneParams -> KillPaneParams -> Bool $c/= :: KillPaneParams -> KillPaneParams -> Bool /= :: 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 $cshowsPrec :: Int -> KillPaneParams -> ShowS showsPrec :: Int -> KillPaneParams -> ShowS $cshow :: KillPaneParams -> String show :: KillPaneParams -> String $cshowList :: [KillPaneParams] -> ShowS showList :: [KillPaneParams] -> ShowS Show) instance Default KillPaneParams where def :: KillPaneParams def = 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 $sel:allbut:KillPaneParams :: KillPaneParams -> Bool $sel:target:KillPaneParams :: KillPaneParams -> Target allbut :: Bool target :: Target ..} = 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