| Copyright | (c) Boris Buliga, 2014 |
|---|---|
| License | MIT |
| Maintainer | [email protected] |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Filesystem.CanonicalPath.Directory
Description
Redefinition of some functions from System.Directory module. Some of them have different signature, because they need to work with . For example, we can't create functions CanonicalPathcreateDirectory :: , because it has no sense. How can we create directory that already exists? Instead we have function CanonicalPath -> IO ()createDirectory :: , that creates new directory in base existing directory with provided name. And also it returns CanonicalPath -> FilePath -> IO CanonicalPath of newly created directory. Isn't it nice?CanonicalPath
A lot of functions come in two variants: one that returns resulting @CanonicalPath and second that ignores result (they end with '_' symbol).
Happy Haskell Hacking!
- createDirectory :: MonadIO m => CanonicalPath -> FilePath -> m CanonicalPath
- createDirectory_ :: MonadIO m => CanonicalPath -> FilePath -> m ()
- createDirectoryIfMissing :: MonadIO m => Bool -> CanonicalPath -> FilePath -> m CanonicalPath
- createDirectoryIfMissing_ :: MonadIO m => Bool -> CanonicalPath -> FilePath -> m ()
- removeDirectory :: MonadIO m => CanonicalPath -> m ()
- removeDirectoryRecursive :: MonadIO m => CanonicalPath -> m ()
- renameDirectory :: MonadIO m => CanonicalPath -> FilePath -> m CanonicalPath
- renameDirectory_ :: MonadIO m => CanonicalPath -> FilePath -> m ()
- getDirectoryContents :: MonadIO m => CanonicalPath -> m [FilePath]
- getDirectoryContents' :: MonadIO m => CanonicalPath -> m [CanonicalPath]
- getDirectoryContents'' :: MonadIO m => CanonicalPath -> m [Text]
- getCurrentDirectory :: MonadIO m => m CanonicalPath
- setCurrentDirectory :: MonadIO m => CanonicalPath -> m ()
- getHomeDirectory :: MonadIO m => m CanonicalPath
- getAppUserDataDirectory :: MonadIO m => Text -> m FilePath
- getUserDocumentsDirectory :: MonadIO m => m CanonicalPath
- getTemporaryDirectory :: MonadIO m => m FilePath
- removeFile :: MonadIO m => CanonicalPath -> m ()
- renameFile :: MonadIO m => CanonicalPath -> FilePath -> m CanonicalPath
- renameFile_ :: MonadIO m => CanonicalPath -> FilePath -> m ()
- copyFile :: MonadIO m => CanonicalPath -> FilePath -> m CanonicalPath
- copyFile_ :: MonadIO m => CanonicalPath -> FilePath -> m ()
Documentation
Arguments
| :: MonadIO m | |
| => CanonicalPath | base directory |
| -> FilePath | name of new directory |
| -> m CanonicalPath |
|
creates new directory createDirectory base dirdir in existing base directory and returns of created directory.CanonicalPath
For more information look for documentation of .createDirectory
Since 0.1.1.0
createDirectory_ :: MonadIO m => CanonicalPath -> FilePath -> m () Source
Variant of createDirectory that ignores resulting CanonicalPath.
Since 0.2.2.0
createDirectoryIfMissing Source
Arguments
| :: MonadIO m | |
| => Bool | Create its parents too? |
| -> CanonicalPath | base directory |
| -> FilePath | name of new directory |
| -> m CanonicalPath |
|
creates a new directory createDirectoryIfMissing parents dirdir in base directory. If the first argument is True the function will also create all parent directories if they are missing. Function returns of created directory.CanonicalPath
For more information look for documentation of .createDirectoryIfMissing
Since 0.1.1.0
createDirectoryIfMissing_ :: MonadIO m => Bool -> CanonicalPath -> FilePath -> m () Source
Variant of createDirectoryIfMissing that ignores resulting CanonicalPath.
Since 0.2.2.0
removeDirectory :: MonadIO m => CanonicalPath -> m () Source
removes an existing directory dir.removeDirectory dir
For more information look for documentation of .removeDirectory
Since 0.1.1.0
removeDirectoryRecursive :: MonadIO m => CanonicalPath -> m () Source
removes an existing directory dir together with its content and all subdirectories. Be careful, if the directory contains symlinks, the function will follow them.removeDirectoryRecursive dir
For more information look for documentation of .removeDirectoryRecursive
Since 0.1.1.0
Arguments
| :: MonadIO m | |
| => CanonicalPath | old directory |
| -> FilePath | new directory (should be just name of directory) |
| -> m CanonicalPath |
|
changes the name of an existing directory from old to new and returns renameDirectory old new of new directory.CanonicalPath
For more information look for documentation of .renameDirectory
Since 0.1.1.0
renameDirectory_ :: MonadIO m => CanonicalPath -> FilePath -> m () Source
Variant of renameDirectory that ignores resulting CanonicalPath.
Since 0.2.2.0
getDirectoryContents :: MonadIO m => CanonicalPath -> m [FilePath] Source
returns a list of all entries in dir. If you want to have list of getDirectoryContents dir instead use function CanonicalPath.getDirectoryContents'
For more information look for documentation of .getDirectoryContents
Since 0.1.1.0
getDirectoryContents' :: MonadIO m => CanonicalPath -> m [CanonicalPath] Source
The same as , but returns list of getDirectoryContents instead of CanonicalPath.FilePath
Since 0.1.1.0
getDirectoryContents'' :: MonadIO m => CanonicalPath -> m [Text] Source
The same as , but returns list of getDirectoryContents instead of Text.FilePath
Since 0.2.2.0
getCurrentDirectory :: MonadIO m => m CanonicalPath Source
If the operating system has a notion of current directories, getCurrentDirectory returns an to the current directory of the calling process.CanonicalPath
For more information look for documentation of .getCurrentDirectory
Since 0.1.1.0
setCurrentDirectory :: MonadIO m => CanonicalPath -> m () Source
If the operating system has a notion of current directories, changes the current directory of the calling process to dir.setCurrentDirectory dir
For more information look for documentation of .setCurrentDirectory
Since 0.1.1.0
getHomeDirectory :: MonadIO m => m CanonicalPath Source
Returns the current user's home directory.
For more information look for documentation of .getHomeDirectory
Since 0.1.1.0
getAppUserDataDirectory :: MonadIO m => Text -> m FilePath Source
Returns the of a directory in which application-specific data for the current user can be stored. The result of CanonicalPathgetAppUserDataDirectory for a given application is specific to the current user.
For more information look for documentation of .getAppUserDataDirectory
Since 0.1.1.0
getUserDocumentsDirectory :: MonadIO m => m CanonicalPath Source
Returns the current user's document directory.
For more information look for documentation of .getUserDocumentsDirectory
Since 0.1.1.0
getTemporaryDirectory :: MonadIO m => m FilePath Source
Returns the current directory for temporary files.
For more information look for documentation of .getUserDocumentsDirectorygetTemporaryDirectory
Since 0.1.1.0
removeFile :: MonadIO m => CanonicalPath -> m () Source
removeFile file removes the directory entry for an existing file file, where file is not itself a directory.
For more information look for documentation of .removeFile
Since 0.1.1.0
Arguments
| :: MonadIO m | |
| => CanonicalPath |
|
| -> FilePath | new name of file |
| -> m CanonicalPath |
|
changes the name of an existing file system object from old to new.renameFile old new
For more information look for documentation of .renameFile
Since 0.1.1.0
renameFile_ :: MonadIO m => CanonicalPath -> FilePath -> m () Source
Variant of renameFile that ignores resulting CanonicalPath.
Since 0.2.2.0
Arguments
| :: MonadIO m | |
| => CanonicalPath |
|
| -> FilePath | name of new file (actually it can be path relative to directory of old |
| -> m CanonicalPath |
|
copies the existing file from old to new. If the new file already exists, it is atomically replaced by the old file. Neither path may refer to an existing directory. The permissions of old are copied to new, if possible.copyFile old new
For more information look for documentation of .copyFile
Since 0.1.1.0
copyFile_ :: MonadIO m => CanonicalPath -> FilePath -> m () Source