@@ -11,20 +11,15 @@ module Ace.Halogen.Component
1111
1212import Prelude
1313
14- import Control.Coroutine (Producer )
15- import Control.Coroutine.Aff as CCA
16- import Control.Coroutine.Stalling as SCR
1714import Control.Monad.Aff (Aff , runAff )
1815import Control.Monad.Aff.AVar (AVAR )
1916import Control.Monad.Aff.Free (class Affable )
2017import Control.Monad.Eff (Eff )
2118import Control.Monad.Eff.Now (NOW , now )
2219import Control.Monad.Eff.Random (random , RANDOM )
2320import Control.Monad.Eff.Ref (Ref , REF , readRef , writeRef , modifyRef )
24- import Control.Monad.Free.Trans (hoistFreeT )
2521
2622import Data.DateTime.Instant (unInstant )
27- import Data.Either (Either (..))
2823import Data.Foldable (traverse_ )
2924import Data.Maybe (Maybe (..), maybe )
3025import Data.StrMap (StrMap )
@@ -44,7 +39,6 @@ import DOM.HTML.Types (HTMLElement)
4439import Halogen as H
4540import Halogen.HTML.Indexed as HH
4641import Halogen.HTML.Properties.Indexed as HP
47- import Halogen.Query.EventSource as HES
4842
4943-- | Effectful knot of autocomplete functions. It's needed because
5044-- | `languageTools.addCompleter` is global and adds completer to
@@ -215,7 +209,7 @@ eval setup resume = case _ of
215209 setAutocompleteResume resume editor
216210 Editor .onFocus editor $ writeRef focused key
217211 session <- H .fromEff $ Editor .getSession editor
218- H .subscribe $ eventSource_ (Session .onChange session) do
212+ H .subscribe $ H . eventSource_ (Session .onChange session) do
219213 pure $ H .action TextChanged
220214 H .liftH $ setup editor
221215 pure next
@@ -255,26 +249,6 @@ eval setup resume = case _ of
255249
256250 TextChanged next -> pure next
257251
258- -- TODO: when Halogen's eventSource_ / produce is fixed to use Affable rather
259- -- than MonadAff, these can be removed.
260- eventSource_
261- :: forall eff f g
262- . (Monad g , Affable (avar :: AVAR | eff ) g )
263- => (Eff (avar :: AVAR | eff ) Unit -> Eff (avar :: AVAR | eff ) Unit )
264- -> Eff (avar :: AVAR | eff ) (f Unit )
265- -> HES.EventSource f g
266- eventSource_ attach handle =
267- HES.EventSource $
268- SCR .producerToStallingProducer $ produce \emit ->
269- attach (emit <<< Left =<< handle)
270-
271- produce
272- :: forall a r m eff
273- . (Functor m , Affable (avar :: AVAR | eff ) m )
274- => ((Either a r -> Eff (avar :: AVAR | eff ) Unit ) -> Eff (avar :: AVAR | eff ) Unit )
275- -> Producer a m r
276- produce = hoistFreeT H .fromAff <<< CCA .produce
277-
278252-- | A convenience function for creating a `SlotConstructor` for an Ace
279253-- | component.
280254aceConstructor
0 commit comments