aboutsummaryrefslogtreecommitdiff
path: root/lib/Daffm.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Daffm.hs')
-rw-r--r--lib/Daffm.hs26
1 files changed, 16 insertions, 10 deletions
diff --git a/lib/Daffm.hs b/lib/Daffm.hs
index afdba11..a4ced9f 100644
--- a/lib/Daffm.hs
+++ b/lib/Daffm.hs
@@ -1,18 +1,24 @@
-module Daffm (app, loadDirToState, mkEmptyAppState) where
+module Daffm (initApp, loadDirToState, mkEmptyAppState) where
-import qualified Brick.Main as M
+import qualified Brick.Main as B
+import Control.Monad (void)
import Daffm.Attrs (appAttrMap)
import Daffm.Event (appEvent)
import Daffm.State (loadDirToState, mkEmptyAppState)
-import Daffm.Types (AppState (..), FocusTarget)
+import Daffm.Types (AppState (..), Configuration, FilePathText, FocusTarget)
import Daffm.View (appView)
-app :: M.App AppState e FocusTarget
+app :: B.App AppState e FocusTarget
app =
- M.App
- { M.appDraw = appView,
- M.appChooseCursor = M.showFirstCursor,
- M.appHandleEvent = appEvent,
- M.appStartEvent = pure (),
- M.appAttrMap = const appAttrMap
+ B.App
+ { B.appDraw = appView,
+ B.appChooseCursor = B.showFirstCursor,
+ B.appHandleEvent = appEvent,
+ B.appStartEvent = pure (),
+ B.appAttrMap = const appAttrMap
}
+
+initApp :: FilePathText -> Configuration -> IO ()
+initApp dir config = do
+ initialState <- loadDirToState dir $ mkEmptyAppState config
+ void $ B.defaultMain app initialState