From 4e8e81b05afa4ba56d64ba714c78ba307f936076 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Wed, 8 Oct 2025 12:51:02 +0530 Subject: Refactor args parsing to module + docs update --- lib/Daffm.hs | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'lib/Daffm.hs') 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 -- cgit v1.3.1