From 8e92e6e11d2b3b0bfb5ac9d68f347219493e6380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Wed, 23 Sep 2020 17:44:40 +0200 Subject: split into library + executables --- src/Much/State.hs | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/Much/State.hs (limited to 'src/Much/State.hs') diff --git a/src/Much/State.hs b/src/Much/State.hs new file mode 100644 index 0000000..a522e99 --- /dev/null +++ b/src/Much/State.hs @@ -0,0 +1,42 @@ +module Much.State where + +import Blessings.String (Blessings) +import qualified Data.Text as T +import Data.Time +import qualified Data.Tree.Zipper as Z +import Scanner +import System.Posix.Signals +import Much.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 ())] + , query :: String + , keymap :: String -> State -> IO State + , mousemap :: Scan -> State -> IO State + , tagSymbols :: [(T.Text, T.Text)] + , colorConfig :: ColorConfig + } + +data ColorConfig = ColorConfig + { alt :: Blessings String -> Blessings String + , search :: Blessings String -> Blessings String + , focus :: Blessings String -> Blessings String + , quote :: Blessings String -> Blessings String + , boring :: Blessings String -> Blessings String + , prefix :: Blessings String -> Blessings String + , date :: Blessings String -> Blessings String + , tags :: Blessings String -> Blessings String + , unreadSearch :: Blessings String -> Blessings String + , unreadMessage :: Blessings String -> Blessings String + , boringMessage :: Blessings String -> Blessings String + , tagMap :: [(T.Text, Blessings String -> Blessings String)] + } -- cgit v1.2.3