Safe Haskell | None |
---|---|
Language | Haskell2010 |
Operations on file names.
Synopsis
- newtype AbsolutePath = AbsolutePath Text
- filePath :: AbsolutePath -> FilePath
- mkAbsolute :: FilePath -> AbsolutePath
- absolute :: FilePath -> IO AbsolutePath
- canonicalizeAbsolutePath :: AbsolutePath -> IO AbsolutePath
- sameFile :: AbsolutePath -> AbsolutePath -> IO Bool
- doesFileExistCaseSensitive :: FilePath -> IO Bool
- isNewerThan :: FilePath -> FilePath -> IO Bool
- relativizeAbsolutePath :: AbsolutePath -> AbsolutePath -> Maybe FilePath
Documentation
newtype AbsolutePath Source #
Paths which are known to be absolute.
Note that the Eq
and Ord
instances do not check if different
paths point to the same files or directories.
AbsolutePath Text |
Instances
filePath :: AbsolutePath -> FilePath Source #
Extract the AbsolutePath
to be used as FilePath
.
mkAbsolute :: FilePath -> AbsolutePath Source #
Constructs AbsolutePath
s.
Precondition: The path must be absolute and valid.
absolute :: FilePath -> IO AbsolutePath Source #
Makes the path absolute.
This function may raise an __IMPOSSIBLE__
error if
canonicalizePath
does not return an absolute path.
canonicalizeAbsolutePath :: AbsolutePath -> IO AbsolutePath Source #
Resolve symlinks etc. Preserves sameFile
.
sameFile :: AbsolutePath -> AbsolutePath -> IO Bool Source #
Tries to establish if the two file paths point to the same file (or directory). False negatives may be returned.
doesFileExistCaseSensitive :: FilePath -> IO Bool Source #
Case-sensitive doesFileExist
for Windows.
This is case-sensitive only on the file name part, not on the directory part. (Ideally, path components coming from module name components should be checked case-sensitively and the other path components should be checked case insensitively.)
isNewerThan :: FilePath -> FilePath -> IO Bool Source #
True if the first file is newer than the second file. If a file doesn't exist it is considered to be infinitely old.
relativizeAbsolutePath Source #
:: AbsolutePath | The absolute path we see to relativize. |
-> AbsolutePath | The root for relativization. |
-> Maybe FilePath | The relative path, if any. |
A partial version of makeRelative
with flipped arguments,
returning Nothing
if the given path cannot be relativized to the given root
.