1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
module State where
import Blessings.String (Blessings)
import qualified Data.Map as M
import qualified Data.Text as T
import Data.Time
import qualified Data.Tree.Zipper as Z
import Scanner
import System.Posix.Signals
import TreeView (TreeView)
data State = State
{ cursor :: Z.TreePos Z.Full TreeView
, xoffset :: Int
, yoffset :: Int
, flashMessage :: Blessings String
, screenWidth :: Int
, screenHeight :: Int
, headBuffer :: [Blessings String]
, treeBuffer :: [Blessings String]
, now :: UTCTime
, signalHandlers :: [(Signal, IO ())]
, keymap :: String -> State -> IO State
, mousemap :: Scan -> State -> IO State
, tagVisuals :: [(T.Text, Blessings String -> Blessings String)]
}
|