diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-10-03 21:57:20 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-10-03 21:57:20 +0530 |
| commit | b05be850349dbb813d2af6f3ee7a2fc3bf98b8ef (patch) | |
| tree | dcfb1264b3305ef143f3cb642529b1bb81907197 /lib/Daffm/Action/Core.hs | |
| parent | 931cf30e66238432fbf653adda7bd08f05a18e87 (diff) | |
| download | daffm-b05be850349dbb813d2af6f3ee7a2fc3bf98b8ef.tar.gz daffm-b05be850349dbb813d2af6f3ee7a2fc3bf98b8ef.zip | |
Refactor to Text
Diffstat (limited to '')
| -rw-r--r-- | lib/Daffm/Action/Core.hs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/Daffm/Action/Core.hs b/lib/Daffm/Action/Core.hs index d18bda9..337801e 100644 --- a/lib/Daffm/Action/Core.hs +++ b/lib/Daffm/Action/Core.hs @@ -8,8 +8,9 @@ import Brick (suspendAndResume') import qualified Brick.Widgets.List as L import Control.Monad.State (MonadIO (liftIO), MonadState, get, gets, modify, put) import Daffm.State -import Daffm.Types (AppEvent, AppState (..), FileInfo (..), FileType (..)) +import Daffm.Types (AppEvent, AppState (..), FileInfo (..), FilePathText, FileType (..)) import qualified Data.Set as Set +import qualified Data.Text as Text import System.Directory (getHomeDirectory) import System.FilePath (takeDirectory) import System.Process (callProcess) @@ -17,7 +18,7 @@ import System.Process (callProcess) modifyM :: (MonadState s m) => (s -> m s) -> m () modifyM f = get >>= f >>= put -loadDir :: FilePath -> FilePath -> AppEvent () +loadDir :: FilePathText -> FilePathText -> AppEvent () loadDir dir parentDir = do modifyM (liftIO . (>>= filterInvalidSelections) . loadDirToState dir parentDir) @@ -29,12 +30,12 @@ reloadDir = do goBackToParentDir :: AppEvent () goBackToParentDir = do dir <- gets stateParentDir - loadDir dir (takeDirectory dir) + loadDir dir (Text.pack . takeDirectory $ Text.unpack dir) goHome :: AppEvent () goHome = do dir <- liftIO getHomeDirectory - loadDir dir (takeDirectory dir) + loadDir (Text.pack dir) (Text.pack $ takeDirectory dir) openSelectedFile :: AppEvent () openSelectedFile = do @@ -47,8 +48,8 @@ openFile (FileInfo {filePath, fileType = Directory}) = do gets stateCwd >>= loadDir filePath openFile (FileInfo {filePath, fileType}) = do suspendAndResume' $ do - putStrLn $ "Opening " <> show fileType <> ": " <> filePath - callProcess "nvim" [filePath] + putStrLn $ "Opening " <> show fileType <> ": " <> Text.unpack filePath + callProcess "nvim" [Text.unpack filePath] currentFile :: AppEvent (Maybe FileInfo) currentFile = do |
