blob: 10fa552b342f8aa1718aef0d393fa88cb6309c8d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
module Xanthous.Command where
import Graphics.Vty.Input (Key(..), Modifier(..))
import Xanthous.Prelude hiding (Left, Right, Down)
import Xanthous.Data (Direction(..))
data Command
= Quit
| Move Direction
| PreviousMessage
-- | PickUp
commandFromKey :: Key -> [Modifier] -> Maybe Command
commandFromKey (KChar 'q') [] = Just Quit
commandFromKey (KChar 'h') [] = Just $ Move Left
commandFromKey (KChar 'j') [] = Just $ Move Down
commandFromKey (KChar 'k') [] = Just $ Move Up
commandFromKey (KChar 'l') [] = Just $ Move Right
commandFromKey (KChar 'p') [MCtrl] = Just PreviousMessage
commandFromKey _ _ = Nothing
|