SuspendAndResumeDemo: use explicit imports

This commit is contained in:
Jonathan Daugherty 2015-07-10 13:34:21 -07:00
parent d1f8cd9a67
commit d6f34261bc

View File

@ -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