Portability | portable |
---|---|
Maintainer | jmillikin@gmail.com |
High-level, byte-based file and directory path manipulations. You probably want to import System.FilePath.CurrentOS instead, since it handles detecting which rules to use in the current compilation.
- data FilePath
- empty :: FilePath
- null :: FilePath -> Bool
- root :: FilePath -> FilePath
- directory :: FilePath -> FilePath
- parent :: FilePath -> FilePath
- filename :: FilePath -> FilePath
- basename :: FilePath -> FilePath
- absolute :: FilePath -> Bool
- relative :: FilePath -> Bool
- append :: FilePath -> FilePath -> FilePath
- (</>) :: FilePath -> FilePath -> FilePath
- concat :: [FilePath] -> FilePath
- commonPrefix :: [FilePath] -> FilePath
- extension :: FilePath -> Maybe ByteString
- extensions :: FilePath -> [ByteString]
- hasExtension :: FilePath -> ByteString -> Bool
- addExtension :: FilePath -> ByteString -> FilePath
- (<.>) :: FilePath -> ByteString -> FilePath
- dropExtension :: FilePath -> FilePath
- replaceExtension :: FilePath -> ByteString -> FilePath
- addExtensions :: FilePath -> [ByteString] -> FilePath
- dropExtensions :: FilePath -> FilePath
- replaceExtensions :: FilePath -> [ByteString] -> FilePath
- splitExtension :: FilePath -> (FilePath, Maybe ByteString)
- splitExtensions :: FilePath -> (FilePath, [ByteString])
Documentation
Basic properties
directory :: FilePath -> FilePathSource
Retrieves the FilePath
's directory. If the path is already a
directory, it is returned unchanged.
filename :: FilePath -> FilePathSource
Retrieve the filename component of a FilePath
.
filename "foo/bar.txt" == "bar.txt"
.
basename :: FilePath -> FilePathSource
Retrieve the basename component of a FilePath
.
filename "foo/bar.txt" == "bar"
.
Basic operations
append :: FilePath -> FilePath -> FilePathSource
Appends two FilePath
s. If the second path is absolute, it is returned
unchanged.
commonPrefix :: [FilePath] -> FilePathSource
Find the greatest common prefix between two FilePath
s.
Extensions
extensions :: FilePath -> [ByteString]Source
Get a FilePath
's full extension list.
hasExtension :: FilePath -> ByteString -> BoolSource
Get whether a FilePath
's last extension is the predicate.
addExtension :: FilePath -> ByteString -> FilePathSource
Append an extension to the end of a FilePath
.
(<.>) :: FilePath -> ByteString -> FilePathSource
An alias for addExtension
.
dropExtension :: FilePath -> FilePathSource
Remove a FilePath
's last extension.
replaceExtension :: FilePath -> ByteString -> FilePathSource
Replace a FilePath
's last extension.
addExtensions :: FilePath -> [ByteString] -> FilePathSource
Append many extensions to the end of a FilePath
.
dropExtensions :: FilePath -> FilePathSource
Remove all extensions from a FilePath
.
replaceExtensions :: FilePath -> [ByteString] -> FilePathSource
Remove all extensions from a FilePath
, and replace them with a new
list.
splitExtension :: FilePath -> (FilePath, Maybe ByteString)Source
splitExtension p = (dropExtension
p,extension
p)
splitExtensions :: FilePath -> (FilePath, [ByteString])Source
splitExtensions p = (dropExtensions
p,extensions
p)