taskell-1.9.3.0: src/Taskell/Events/Actions/Search.hs
module Taskell.Events.Actions.Search
( event
) where
import ClassyPrelude
import Control.Lens ((^.))
import Graphics.Vty.Input.Events
import Taskell.Events.State
import Taskell.Events.State.Types (Stateful, mode)
import Taskell.Events.State.Types.Mode (Mode (Search))
import qualified Taskell.UI.Draw.Field as F (event)
event :: Event -> Stateful
event (EvKey KEsc _) s = clearSearch =<< normalMode s
event (EvKey KEnter _) s = normalMode s
event e s =
case s ^. mode of
Search -> appendSearch (F.event e) s
_ -> pure s