module Chiasma.Pane where import Chiasma.Data.Ident (Ident) import Chiasma.Data.TmuxId (PaneId) import qualified Chiasma.Data.View as Tmux (View(View)) import Chiasma.Data.Views (Views) import qualified Chiasma.View as Views (insertPane) addPane :: MonadDeepState s Views m => Ident -> m (Tmux.View PaneId) addPane :: Ident -> m (View PaneId) addPane Ident ident = do (Views -> Views) -> m () forall s' s (m :: * -> *). MonadDeepState s s' m => (s' -> s') -> m () modify ((Views -> Views) -> m ()) -> (Views -> Views) -> m () forall a b. (a -> b) -> a -> b $ View PaneId -> Views -> Views Views.insertPane View PaneId pane return View PaneId pane where pane :: View PaneId pane = Ident -> Maybe PaneId -> View PaneId forall a. Ident -> Maybe a -> View a Tmux.View Ident ident Maybe PaneId forall a. Maybe a Nothing