mirror of
https://github.com/jtdaugherty/brick.git
synced 2024-10-27 01:27:24 +03:00
SuspendAndResumeDemo: use explicit imports
This commit is contained in:
parent
d1f8cd9a67
commit
d6f34261bc
@ -2,14 +2,22 @@
|
|||||||
{-# LANGUAGE TemplateHaskell #-}
|
{-# LANGUAGE TemplateHaskell #-}
|
||||||
module Main where
|
module Main where
|
||||||
|
|
||||||
import Control.Lens
|
import Control.Lens (makeLenses, (.~), (^.), (&))
|
||||||
import Control.Monad (void)
|
import Control.Monad (void)
|
||||||
import Data.Monoid
|
import Data.Monoid
|
||||||
import Data.Default
|
import Data.Default
|
||||||
import Graphics.Vty hiding (translate)
|
import qualified Graphics.Vty as V
|
||||||
|
|
||||||
import Brick.Main
|
import Brick.Main
|
||||||
|
( App(..), neverShowCursor, defaultMain
|
||||||
|
, suspendAndResume, halt, continue
|
||||||
|
, EventM, Next
|
||||||
|
)
|
||||||
import Brick.Widgets.Core
|
import Brick.Widgets.Core
|
||||||
|
( Widget
|
||||||
|
, vBox
|
||||||
|
, str
|
||||||
|
)
|
||||||
|
|
||||||
data St =
|
data St =
|
||||||
St { _stExternalInput :: String
|
St { _stExternalInput :: String
|
||||||
@ -24,11 +32,11 @@ drawUI st = [ui]
|
|||||||
, "(Press Esc to quit or Space to ask for input)"
|
, "(Press Esc to quit or Space to ask for input)"
|
||||||
]
|
]
|
||||||
|
|
||||||
appEvent :: St -> Event -> EventM (Next St)
|
appEvent :: St -> V.Event -> EventM (Next St)
|
||||||
appEvent st e =
|
appEvent st e =
|
||||||
case e of
|
case e of
|
||||||
EvKey KEsc [] -> halt st
|
V.EvKey V.KEsc [] -> halt st
|
||||||
EvKey (KChar ' ') [] -> suspendAndResume $ do
|
V.EvKey (V.KChar ' ') [] -> suspendAndResume $ do
|
||||||
-- NB: https://github.com/coreyoconnor/vty/issues/77
|
-- NB: https://github.com/coreyoconnor/vty/issues/77
|
||||||
putStrLn "Suspended. Please enter something and press enter to resume:"
|
putStrLn "Suspended. Please enter something and press enter to resume:"
|
||||||
s <- getLine
|
s <- getLine
|
||||||
@ -40,7 +48,7 @@ initialState =
|
|||||||
St { _stExternalInput = ""
|
St { _stExternalInput = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
theApp :: App St Event
|
theApp :: App St V.Event
|
||||||
theApp =
|
theApp =
|
||||||
App { appDraw = drawUI
|
App { appDraw = drawUI
|
||||||
, appChooseCursor = neverShowCursor
|
, appChooseCursor = neverShowCursor
|
||||||
|
Loading…
Reference in New Issue
Block a user