@@ -2,11 +2,9 @@ module Main where
2
2
3
3
import Prelude
4
4
5
- import Control.Monad.Aff (Aff )
6
- import Control.Monad.Eff (Eff )
7
- import Control.Monad.Eff.Class (liftEff )
8
- import Control.Monad.Eff.Random (RANDOM )
9
- import Control.Monad.Eff.Now (NOW )
5
+ import Effect (Effect )
6
+ import Effect.Aff (Aff )
7
+ import Effect.Class (liftEffect )
10
8
11
9
import Data.Maybe (Maybe (..))
12
10
@@ -19,7 +17,7 @@ import Halogen.VDom.Driver (runUI)
19
17
import Ace.Editor as Editor
20
18
import Ace.EditSession as Session
21
19
import Ace.Halogen.Component (AceQuery , AceMessage (..), aceComponent )
22
- import Ace.Types (ACE , Editor )
20
+ import Ace.Types (Editor )
23
21
24
22
data Query a
25
23
= HandleMessage AceMessage a
@@ -35,13 +33,10 @@ initialState =
35
33
36
34
type AceSlot = Unit
37
35
38
- type MainEffects = HA.HalogenEffects ( random ∷ RANDOM , now ∷ NOW , ace ∷ ACE )
39
- type MainAff = Aff MainEffects
36
+ type MainHtml = H.ParentHTML Query AceQuery AceSlot Aff
37
+ type MainDSL = H.ParentDSL State Query AceQuery AceSlot Void Aff
40
38
41
- type MainHtml = H.ParentHTML Query AceQuery AceSlot MainAff
42
- type MainDSL = H.ParentDSL State Query AceQuery AceSlot Void MainAff
43
-
44
- ui ∷ H.Component HH.HTML Query Unit Void MainAff
39
+ ui ∷ H.Component HH.HTML Query Unit Void Aff
45
40
ui =
46
41
H .parentComponent
47
42
{ initialState: const initialState
58
53
, HH .div_ [ HH .text state.text ]
59
54
]
60
55
61
- component :: State → H.Component HH.HTML AceQuery Unit AceMessage MainAff
56
+ component :: State → H.Component HH.HTML AceQuery Unit AceMessage Aff
62
57
component state = aceComponent (initEditor state) Nothing
63
58
64
- initEditor ∷ State → Editor → MainAff Unit
65
- initEditor state editor = liftEff $ do
59
+ initEditor ∷ State → Editor → Aff Unit
60
+ initEditor state editor = liftEffect $ do
66
61
session ← Editor .getSession editor
67
62
Session .setMode " ace/mode/yaml" session
68
63
_ ← Editor .setValue state.text Nothing editor
71
66
eval ∷ Query ~> MainDSL
72
67
eval = case _ of
73
68
HandleMessage (TextChanged text) next → do
74
- H .modify (_ { text = text })
69
+ _ <- H .modify (_ { text = text })
75
70
pure next
76
71
77
- main ∷ Eff MainEffects Unit
72
+ main ∷ Effect Unit
78
73
main = HA .runHalogenAff (runUI ui unit =<< HA .awaitBody)
0 commit comments