| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Development.Shake.FilePath
Description
A module for FilePath operations exposing System.FilePath plus some additional operations.
Windows note: The extension methods (<.>, takeExtension etc) use the Posix variants since on
Windows "//*" produces <.> "txt""//*\\.txt"
(which is bad for FilePattern values).
- module System.FilePath
- module System.FilePath.Posix
- dropDirectory1 :: FilePath -> FilePath
- takeDirectory1 :: FilePath -> FilePath
- normaliseEx :: FilePath -> FilePath
- toNative :: FilePath -> FilePath
- toStandard :: FilePath -> FilePath
- exe :: String
Documentation
module System.FilePath
module System.FilePath.Posix
dropDirectory1 :: FilePath -> FilePath Source #
Drop the first directory from a FilePath. Should only be used on
relative paths.
dropDirectory1 "aaa/bbb" == "bbb" dropDirectory1 "aaa/" == "" dropDirectory1 "aaa" == "" dropDirectory1 "" == ""
takeDirectory1 :: FilePath -> FilePath Source #
Take the first component of a FilePath. Should only be used on
relative paths.
takeDirectory1 "aaa/bbb" == "aaa" takeDirectory1 "aaa/" == "aaa" takeDirectory1 "aaa" == "aaa"
normaliseEx :: FilePath -> FilePath Source #
Normalise a FilePath, applying the rules:
- All
pathSeparatorsbecomepathSeparator(/on Linux,\on Windows) foo/bar/../bazbecomesfoo/baz(not universally true in the presence of symlinks)foo/./barbecomesfoo/barfoo//barbecomesfoo/bar
This function is not based on the normalise function from the filepath library, as that function
is quite broken.
toStandard :: FilePath -> FilePath Source #
Convert all path separators to /, even on Windows.