aboutsummaryrefslogtreecommitdiff
path: root/lib/Daffm/Action/Core.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Daffm/Action/Core.hs')
-rw-r--r--lib/Daffm/Action/Core.hs13
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