From a4144c0c6e0d3df3740c70b9ad947642d9d48ac6 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 5 Oct 2025 12:32:24 +0530 Subject: Show keyseq,selections in statusline + minor refactor --- lib/Daffm/State.hs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'lib/Daffm/State.hs') diff --git a/lib/Daffm/State.hs b/lib/Daffm/State.hs index d1964dc..f04ebc9 100644 --- a/lib/Daffm/State.hs +++ b/lib/Daffm/State.hs @@ -27,7 +27,7 @@ mkEmptyAppState config = { stateFiles = L.list FocusMain (Vec.fromList []) 1, stateCmdlineEditor = mkEditor "", stateFocusTarget = FocusMain, - stateListPositionCache = Map.empty, + stateListPositionHistory = Map.empty, stateFileSelections = Set.empty, stateCwd = "", stateKeyMap = defaultKeymaps <> configKeymap config, @@ -67,14 +67,14 @@ normalizePath (Text.splitAt 2 -> ("~/", rest)) = do normalizePath dir = pure dir loadDirToState :: FilePathText -> AppState -> IO AppState -loadDirToState dir' appState@(AppState {stateCwd, stateListPositionCache}) = do +loadDirToState dir' appState@(AppState {stateCwd, stateListPositionHistory}) = do dir <- normalizePath dir' doesDirectoryExist (Text.unpack dir) >>= \case True -> do setCurrentDirectory $ Text.unpack dir files <- listFilesInDir dir let prevDirPosM = findIndex ((== stateCwd) . filePath) files - let cachedPosM = Map.lookup dir stateListPositionCache + let cachedPosM = Map.lookup dir stateListPositionHistory let pos = fromMaybe 0 (cachedPosM <|> prevDirPosM) let list = L.listMoveTo pos $ L.list FocusMain (Vec.fromList files) 1 pure $ @@ -123,9 +123,9 @@ listFilesInDir dir = do sortBy fileSorter <$> forM files (getFileInfo . Text.pack) cacheDirPosition :: AppState -> AppState -cacheDirPosition appState@(AppState {stateListPositionCache, stateCwd, stateFiles}) = +cacheDirPosition appState@(AppState {stateListPositionHistory, stateCwd, stateFiles}) = appState - { stateListPositionCache = Map.insert stateCwd pos stateListPositionCache + { stateListPositionHistory = Map.insert stateCwd pos stateListPositionHistory } where pos = fromMaybe 0 $ L.listSelected stateFiles -- cgit v1.3.1