diff options
Diffstat (limited to 'src/Much/State.hs')
-rw-r--r-- | src/Much/State.hs | 42 |
1 files changed, 42 insertions, 0 deletions
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)] + } |