Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- createDir :: MonadIO m => PathTo e b Dir -> m ()
- createDirIfMissing :: MonadIO m => Bool -> PathTo e b Dir -> m ()
- ensureDir :: MonadIO m => PathTo e b Dir -> m ()
- removeDir :: MonadIO m => PathTo entity b Dir -> m ()
- removeDirRecur :: MonadIO m => PathTo entity b Dir -> m ()
- removePathForcibly :: MonadIO m => PathTo e b t -> m ()
- renameDir :: MonadIO m => PathTo e b Dir -> PathTo e b' Dir -> m ()
- renamePath :: MonadIO m => PathTo e b t -> PathTo e b' t -> m ()
- listDir :: MonadIO m => PathTo e b Dir -> m ([PathTo Unknown Abs Dir], [PathTo Unknown Abs File])
- listDirRel :: MonadIO m => PathTo e b Dir -> m ([PathTo Unknown (RelTo e) Dir], [PathTo Unknown (RelTo e) File])
- listDirRecur :: MonadIO m => PathTo e b Dir -> m ([PathTo Unknown Abs Dir], [PathTo Unknown Abs File])
- listDirRecurRel :: MonadIO m => PathTo e b Dir -> m ([PathTo Unknown (RelTo e) Dir], [PathTo Unknown (RelTo e) File])
- copyDirRecur :: (MonadIO m, MonadCatch m) => PathTo e0 b0 Dir -> PathTo e1 b1 Dir -> m ()
- copyDirRecur' :: (MonadIO m, MonadCatch m) => PathTo e0 b0 Dir -> PathTo e1 b1 Dir -> m ()
- data WalkAction b
- = WalkFinish
- | WalkExclude [PathTo Unknown b Dir]
- walkDir :: MonadIO m => (forall dir. PathTo dir Abs Dir -> [PathTo Unknown Abs Dir] -> [PathTo Unknown Abs File] -> m (WalkAction Abs)) -> PathTo e b Dir -> m ()
- walkDirRel :: MonadIO m => (forall dir. PathTo dir (RelTo e) Dir -> [PathTo Unknown (RelTo dir) Dir] -> [PathTo Unknown (RelTo dir) File] -> m (WalkAction (RelTo dir))) -> PathTo e b Dir -> m ()
- walkDirAccum :: (MonadIO m, Monoid o) => Maybe (forall dir. PathTo dir Abs Dir -> [PathTo Unknown Abs Dir] -> [PathTo Unknown Abs File] -> m (WalkAction Abs)) -> (forall dir. PathTo dir Abs Dir -> [PathTo Unknown Abs Dir] -> [PathTo Unknown Abs File] -> m o) -> PathTo e b Dir -> m o
- walkDirAccumRel :: (MonadIO m, Monoid o) => Maybe (forall dir. PathTo dir (RelTo e) Dir -> [PathTo Unknown (RelTo dir) Dir] -> [PathTo Unknown (RelTo dir) File] -> m (WalkAction (RelTo dir))) -> (forall dir. PathTo dir (RelTo e) Dir -> [PathTo Unknown (RelTo dir) Dir] -> [PathTo Unknown (RelTo dir) File] -> m o) -> PathTo e b Dir -> m o
- getCurrentDir :: forall m. MonadIO m => m (PathTo Cwd Abs Dir)
- setCurrentDir :: MonadIO m => PathTo e b Dir -> m ()
- withCurrentDir :: (MonadIO m, MonadMask m) => PathTo e b Dir -> m a -> m a
- data PredefinedDir
- = Home
- | AppUserData
- | UserDocs
- | TempDir
- | Cwd
- type family WithPredefined p = w | w -> p where ...
- type Cwd = WithPredefined 'Cwd
- type Home = WithPredefined 'Home
- type AppUserData = WithPredefined 'AppUserData
- type UserDocs = WithPredefined 'UserDocs
- type TempDir = WithPredefined 'TempDir
- getHomeDir :: MonadIO m => m (PathTo Home Abs Dir)
- getAppUserDataDir :: MonadIO m => String -> m (PathTo AppUserData Abs Dir)
- getUserDocsDir :: MonadIO m => m (PathTo UserDocs Abs Dir)
- getTempDir :: MonadIO m => m (PathTo TempDir Abs Dir)
- data XdgDirectory
- type XdgData = WithXdg 'XdgData
- type XdgConfig = WithXdg 'XdgConfig
- type XdgCache = WithXdg 'XdgCache
- type family WithXdg xdg = p | p -> xdg where ...
- class KnownXdgDirectory xdg
- getXdgBaseDir :: forall xdg m. (KnownXdgDirectory xdg, MonadIO m) => m (PathTo xdg Abs Dir)
- getXdgDir :: forall xdg e m. (KnownXdgDirectory xdg, MonadIO m) => PathTo e (RelTo (WithXdg xdg)) Dir -> m (PathTo e Abs Dir)
- getXdgDataDirs :: MonadIO m => m [PathTo XdgData Abs Dir]
- getXdgConfigDirs :: MonadIO m => m [PathTo XdgConfig Abs Dir]
- class AnyPathTo path where
- type PathTag path :: Type
- type AbsPath path :: Type
- type RelPathTo' k (e :: k) path :: Type
- canonicalizePath :: MonadIO m => path -> m (AbsPath path)
- makeAbsolute :: MonadIO m => path -> m (AbsPath path)
- makeRelative :: MonadThrow m => PathTo (e :: PathTag path) Abs Dir -> path -> m (RelPathTo e path)
- makeRelativeToCurrentDir :: MonadIO m => path -> m (RelPathTo' (PathTag path) Cwd path)
- type RelPathTo (e :: k) path = RelPathTo' k e path
- resolveFile :: forall e e0 m. MonadIO m => PathTo e0 Abs Dir -> FilePath -> m (PathTo e Abs File)
- resolveFile' :: forall e m. MonadIO m => FilePath -> m (PathTo e Abs File)
- resolveDir :: forall e e0 m. MonadIO m => PathTo e0 Abs Dir -> FilePath -> m (PathTo e Abs Dir)
- resolveDir' :: forall e m. MonadIO m => FilePath -> m (PathTo e Abs Dir)
- removeFile :: MonadIO m => PathTo e b File -> m ()
- renameFile :: MonadIO m => PathTo e b0 File -> PathTo e b1 File -> m ()
- copyFile :: MonadIO m => PathTo e0 b0 File -> PathTo e1 b1 File -> m ()
- getFileSize :: MonadIO m => PathTo e b File -> m Integer
- findExecutable :: MonadIO m => PathTo e (RelTo b) File -> m (Maybe (PathTo e Abs File))
- findFile :: MonadIO m => [PathTo dir b Dir] -> PathTo e (RelTo dir) File -> m (Maybe (PathTo e Abs File))
- findFiles :: MonadIO m => [PathTo dir b Dir] -> PathTo e (RelTo dir) File -> m [PathTo e Abs File]
- findFilesWith :: MonadIO m => (PathTo e Abs File -> m Bool) -> [PathTo dir b Dir] -> PathTo e (RelTo dir) File -> m [PathTo e Abs File]
- createFileLink :: MonadIO m => PathTo e b0 File -> PathTo e b1 File -> m ()
- createDirLink :: MonadIO m => PathTo e b0 Dir -> PathTo e b1 Dir -> m ()
- removeDirLink :: MonadIO m => PathTo e b0 Dir -> m ()
- getSymlinkTarget :: MonadIO m => PathTo e b t -> m FilePath
- isSymlink :: MonadIO m => PathTo e b t -> m Bool
- withTempFile :: forall e e0 b m a. (MonadIO m, MonadMask m) => PathTo e0 b Dir -> String -> (PathTo e Abs File -> Handle -> m a) -> m a
- withTempDir :: (MonadIO m, MonadMask m) => PathTo e b Dir -> String -> (PathTo TempDir Abs Dir -> m a) -> m a
- withSystemTempFile :: forall e m a. (MonadIO m, MonadMask m) => String -> (PathTo e Abs File -> Handle -> m a) -> m a
- withSystemTempDir :: (MonadIO m, MonadMask m) => String -> (PathTo TempDir Abs Dir -> m a) -> m a
- openTempFile :: forall e e0 b m. MonadIO m => PathTo e0 b Dir -> String -> m (PathTo e Abs File, Handle)
- openBinaryTempFile :: forall e e0 b m. MonadIO m => PathTo e0 b Dir -> String -> m (PathTo e Abs File, Handle)
- createTempDir :: MonadIO m => PathTo e b Dir -> String -> m (PathTo TempDir Abs Dir)
- doesPathExist :: MonadIO m => PathTo e b t -> m Bool
- doesFileExist :: MonadIO m => PathTo e b File -> m Bool
- doesDirExist :: MonadIO m => PathTo e b Dir -> m Bool
- isLocationOccupied :: MonadIO m => PathTo e b t -> m Bool
- forgivingAbsence :: (MonadIO m, MonadCatch m) => m a -> m (Maybe a)
- ignoringAbsence :: (MonadIO m, MonadCatch m) => m a -> m ()
- data Permissions
- emptyPermissions :: Permissions
- getPermissions :: MonadIO m => PathTo e b t -> m Permissions
- setPermissions :: MonadIO m => PathTo e b t -> Permissions -> m ()
- copyPermissions :: MonadIO m => PathTo e0 b0 t0 -> PathTo e1 b1 t1 -> m ()
- getAccessTime :: MonadIO m => PathTo entity pk t -> m UTCTime
- setAccessTime :: MonadIO m => PathTo entity pk t -> UTCTime -> m ()
- getModificationTime :: MonadIO m => PathTo entity pk t -> m UTCTime
- setModificationTime :: MonadIO m => PathTo entity pk t -> UTCTime -> m ()
Actions on directories
removePathForcibly :: MonadIO m => PathTo e b t -> m () Source #
listDir :: MonadIO m => PathTo e b Dir -> m ([PathTo Unknown Abs Dir], [PathTo Unknown Abs File]) Source #
listDirRel :: MonadIO m => PathTo e b Dir -> m ([PathTo Unknown (RelTo e) Dir], [PathTo Unknown (RelTo e) File]) Source #
listDirRecur :: MonadIO m => PathTo e b Dir -> m ([PathTo Unknown Abs Dir], [PathTo Unknown Abs File]) Source #
listDirRecurRel :: MonadIO m => PathTo e b Dir -> m ([PathTo Unknown (RelTo e) Dir], [PathTo Unknown (RelTo e) File]) Source #
copyDirRecur :: (MonadIO m, MonadCatch m) => PathTo e0 b0 Dir -> PathTo e1 b1 Dir -> m () Source #
copyDirRecur' :: (MonadIO m, MonadCatch m) => PathTo e0 b0 Dir -> PathTo e1 b1 Dir -> m () Source #
Walking directory trees
data WalkAction b Source #
Instances
Show (WalkAction b) Source # | |
Defined in Path.Tagged.IO showsPrec :: Int -> WalkAction b -> ShowS # show :: WalkAction b -> String # showList :: [WalkAction b] -> ShowS # | |
Eq (WalkAction b) Source # | |
Defined in Path.Tagged.IO (==) :: WalkAction b -> WalkAction b -> Bool # (/=) :: WalkAction b -> WalkAction b -> Bool # | |
Ord (WalkAction b) Source # | |
Defined in Path.Tagged.IO compare :: WalkAction b -> WalkAction b -> Ordering # (<) :: WalkAction b -> WalkAction b -> Bool # (<=) :: WalkAction b -> WalkAction b -> Bool # (>) :: WalkAction b -> WalkAction b -> Bool # (>=) :: WalkAction b -> WalkAction b -> Bool # max :: WalkAction b -> WalkAction b -> WalkAction b # min :: WalkAction b -> WalkAction b -> WalkAction b # |
walkDir :: MonadIO m => (forall dir. PathTo dir Abs Dir -> [PathTo Unknown Abs Dir] -> [PathTo Unknown Abs File] -> m (WalkAction Abs)) -> PathTo e b Dir -> m () Source #
walkDirRel :: MonadIO m => (forall dir. PathTo dir (RelTo e) Dir -> [PathTo Unknown (RelTo dir) Dir] -> [PathTo Unknown (RelTo dir) File] -> m (WalkAction (RelTo dir))) -> PathTo e b Dir -> m () Source #
walkDirAccum :: (MonadIO m, Monoid o) => Maybe (forall dir. PathTo dir Abs Dir -> [PathTo Unknown Abs Dir] -> [PathTo Unknown Abs File] -> m (WalkAction Abs)) -> (forall dir. PathTo dir Abs Dir -> [PathTo Unknown Abs Dir] -> [PathTo Unknown Abs File] -> m o) -> PathTo e b Dir -> m o Source #
walkDirAccumRel :: (MonadIO m, Monoid o) => Maybe (forall dir. PathTo dir (RelTo e) Dir -> [PathTo Unknown (RelTo dir) Dir] -> [PathTo Unknown (RelTo dir) File] -> m (WalkAction (RelTo dir))) -> (forall dir. PathTo dir (RelTo e) Dir -> [PathTo Unknown (RelTo dir) Dir] -> [PathTo Unknown (RelTo dir) File] -> m o) -> PathTo e b Dir -> m o Source #
Current working directory
Pre-defined directories
data PredefinedDir Source #
Instances
type family WithPredefined p = w | w -> p where ... Source #
type Cwd = WithPredefined 'Cwd Source #
type Home = WithPredefined 'Home Source #
type AppUserData = WithPredefined 'AppUserData Source #
type UserDocs = WithPredefined 'UserDocs Source #
type TempDir = WithPredefined 'TempDir Source #
getAppUserDataDir :: MonadIO m => String -> m (PathTo AppUserData Abs Dir) Source #
data XdgDirectory #
Special directories for storing user-specific application data, configuration, and cache files, as specified by the XDG Base Directory Specification.
Note: On Windows, XdgData
and XdgConfig
usually map to the same
directory.
Since: directory-1.2.3.0
XdgData | For data files (e.g. images).
It uses the |
XdgConfig | For configuration files.
It uses the |
XdgCache | For non-essential files (e.g. cache).
It uses the |
XdgState | For data that should persist between (application) restarts,
but that is not important or portable enough to the user that it
should be stored in Since: directory-1.3.7.0 |
Instances
class KnownXdgDirectory xdg Source #
xdgDirectory#
Instances
KnownXdgDirectory 'XdgCache Source # | |
Defined in Path.Tagged.IO xdgDirectory# :: Proxy# 'XdgCache -> XdgDirectory | |
KnownXdgDirectory 'XdgConfig Source # | |
Defined in Path.Tagged.IO xdgDirectory# :: Proxy# 'XdgConfig -> XdgDirectory | |
KnownXdgDirectory 'XdgData Source # | |
Defined in Path.Tagged.IO xdgDirectory# :: Proxy# 'XdgData -> XdgDirectory |
getXdgBaseDir :: forall xdg m. (KnownXdgDirectory xdg, MonadIO m) => m (PathTo xdg Abs Dir) Source #
getXdgDir :: forall xdg e m. (KnownXdgDirectory xdg, MonadIO m) => PathTo e (RelTo (WithXdg xdg)) Dir -> m (PathTo e Abs Dir) Source #
Path transformation
class AnyPathTo path where Source #
type PathTag path :: Type Source #
type AbsPath path :: Type Source #
type RelPathTo' k (e :: k) path :: Type Source #
canonicalizePath :: MonadIO m => path -> m (AbsPath path) Source #
makeAbsolute :: MonadIO m => path -> m (AbsPath path) Source #
makeRelative :: MonadThrow m => PathTo (e :: PathTag path) Abs Dir -> path -> m (RelPathTo e path) Source #
makeRelativeToCurrentDir :: MonadIO m => path -> m (RelPathTo' (PathTag path) Cwd path) Source #
Instances
type RelPathTo (e :: k) path = RelPathTo' k e path Source #
resolveFile :: forall e e0 m. MonadIO m => PathTo e0 Abs Dir -> FilePath -> m (PathTo e Abs File) Source #
resolveDir :: forall e e0 m. MonadIO m => PathTo e0 Abs Dir -> FilePath -> m (PathTo e Abs Dir) Source #
Actions on Files
findFile :: MonadIO m => [PathTo dir b Dir] -> PathTo e (RelTo dir) File -> m (Maybe (PathTo e Abs File)) Source #
findFiles :: MonadIO m => [PathTo dir b Dir] -> PathTo e (RelTo dir) File -> m [PathTo e Abs File] Source #
findFilesWith :: MonadIO m => (PathTo e Abs File -> m Bool) -> [PathTo dir b Dir] -> PathTo e (RelTo dir) File -> m [PathTo e Abs File] Source #
Symbolic links
Temporary files and directories
withTempFile :: forall e e0 b m a. (MonadIO m, MonadMask m) => PathTo e0 b Dir -> String -> (PathTo e Abs File -> Handle -> m a) -> m a Source #
withTempDir :: (MonadIO m, MonadMask m) => PathTo e b Dir -> String -> (PathTo TempDir Abs Dir -> m a) -> m a Source #
withSystemTempFile :: forall e m a. (MonadIO m, MonadMask m) => String -> (PathTo e Abs File -> Handle -> m a) -> m a Source #
withSystemTempDir :: (MonadIO m, MonadMask m) => String -> (PathTo TempDir Abs Dir -> m a) -> m a Source #
openTempFile :: forall e e0 b m. MonadIO m => PathTo e0 b Dir -> String -> m (PathTo e Abs File, Handle) Source #
openBinaryTempFile :: forall e e0 b m. MonadIO m => PathTo e0 b Dir -> String -> m (PathTo e Abs File, Handle) Source #
Existence tests
forgivingAbsence :: (MonadIO m, MonadCatch m) => m a -> m (Maybe a) #
If argument of the function throws a
doesNotExistErrorType
, Nothing
is returned (other
exceptions propagate). Otherwise the result is returned inside a Just
.
Since: path-io-0.3.0
ignoringAbsence :: (MonadIO m, MonadCatch m) => m a -> m () #
The same as forgivingAbsence
, but ignores result.
Since: path-io-0.3.1
Permissions
data Permissions #
Instances
Read Permissions | |
Defined in System.Directory.Internal.Common readsPrec :: Int -> ReadS Permissions # readList :: ReadS [Permissions] # readPrec :: ReadPrec Permissions # readListPrec :: ReadPrec [Permissions] # | |
Show Permissions | |
Defined in System.Directory.Internal.Common showsPrec :: Int -> Permissions -> ShowS # show :: Permissions -> String # showList :: [Permissions] -> ShowS # | |
Eq Permissions | |
Defined in System.Directory.Internal.Common (==) :: Permissions -> Permissions -> Bool # (/=) :: Permissions -> Permissions -> Bool # | |
Ord Permissions | |
Defined in System.Directory.Internal.Common compare :: Permissions -> Permissions -> Ordering # (<) :: Permissions -> Permissions -> Bool # (<=) :: Permissions -> Permissions -> Bool # (>) :: Permissions -> Permissions -> Bool # (>=) :: Permissions -> Permissions -> Bool # max :: Permissions -> Permissions -> Permissions # min :: Permissions -> Permissions -> Permissions # |
getPermissions :: MonadIO m => PathTo e b t -> m Permissions Source #
setPermissions :: MonadIO m => PathTo e b t -> Permissions -> m () Source #