ribosome-0.9.9.9: lib/Ribosome/Api/Tabpage.hs
-- |API functions for tabpages.
module Ribosome.Api.Tabpage where
import Exon (exon)
import Ribosome.Host.Api.Data (Tabpage)
import Ribosome.Host.Api.Effect (nvimTabpageGetNumber, tabpageIsValid, vimCommand)
import Ribosome.Host.Effect.Rpc (Rpc)
import Ribosome.Host.Modify (silentBang)
-- |Close a tabpage.
closeTabpage ::
Member Rpc r =>
Tabpage ->
Sem r ()
closeTabpage tabpage =
whenM (tabpageIsValid tabpage) do
number <- nvimTabpageGetNumber tabpage
silentBang do
vimCommand [exon|tabclose! #{show number}|]