{-# options_haddock prune #-}

-- |Tmux Helpers, Internal
module Helic.Tmux where

import qualified Polysemy.Process as Process
import Polysemy.Process (Process, withProcess_)

import Helic.Data.Event (Event (Event))

sendToTmux ::
   o r .
  Members [Scoped_ (Process ByteString o), Log] r =>
  Event ->
  Sem r ()
sendToTmux :: forall o (r :: EffectRow).
Members '[Scoped_ (Process ByteString o), Log] r =>
Event -> Sem r ()
sendToTmux (Event InstanceName
_ AgentId
_ Time
_ Text
text) =
  forall i o (r :: EffectRow).
Member (Scoped_ (Process i o)) r =>
InterpreterFor (Process i o) r
withProcess_ do
    forall i o (r :: EffectRow).
Member (Process i o) r =>
i -> Sem r ()
Process.send (forall a b. ConvertUtf8 a b => a -> b
encodeUtf8 Text
text)