module Chiasma.Codec.Data.PanePid where import Chiasma.Codec (TmuxCodec) import Chiasma.Data.TmuxId (HasPaneId, PaneId) import qualified Chiasma.Data.TmuxId as HasPaneId (HasPaneId (paneId)) data PanePid = PanePid { PanePid -> PaneId paneId :: PaneId, PanePid -> Int panePid :: Int } deriving stock (PanePid -> PanePid -> Bool (PanePid -> PanePid -> Bool) -> (PanePid -> PanePid -> Bool) -> Eq PanePid forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: PanePid -> PanePid -> Bool $c/= :: PanePid -> PanePid -> Bool == :: PanePid -> PanePid -> Bool $c== :: PanePid -> PanePid -> Bool Eq, Int -> PanePid -> ShowS [PanePid] -> ShowS PanePid -> String (Int -> PanePid -> ShowS) -> (PanePid -> String) -> ([PanePid] -> ShowS) -> Show PanePid forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [PanePid] -> ShowS $cshowList :: [PanePid] -> ShowS show :: PanePid -> String $cshow :: PanePid -> String showsPrec :: Int -> PanePid -> ShowS $cshowsPrec :: Int -> PanePid -> ShowS Show, (forall x. PanePid -> Rep PanePid x) -> (forall x. Rep PanePid x -> PanePid) -> Generic PanePid forall x. Rep PanePid x -> PanePid forall x. PanePid -> Rep PanePid x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep PanePid x -> PanePid $cfrom :: forall x. PanePid -> Rep PanePid x Generic) deriving anyclass (TmuxQuery Text -> Either DecodeError PanePid (Text -> Either DecodeError PanePid) -> TmuxQuery -> TmuxCodec PanePid forall a. (Text -> Either DecodeError a) -> TmuxQuery -> TmuxCodec a query :: TmuxQuery $cquery :: TmuxQuery decode :: Text -> Either DecodeError PanePid $cdecode :: Text -> Either DecodeError PanePid TmuxCodec) instance HasPaneId PanePid where paneId :: PanePid -> PaneId paneId = PanePid -> PaneId paneId