| Safe Haskell | Safe-Inferred |
|---|
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
- (-<.>) :: FilePath -> String -> FilePath
- toNative :: FilePath -> FilePath
- toStandard :: FilePath -> FilePath
- exe :: String
Documentation
module System.FilePath
module System.FilePath.Posix
dropDirectory1 :: FilePath -> FilePathSource
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 -> FilePathSource
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 -> FilePathSource
Normalise a FilePath, trying to do:
- All
pathSeparatorsbecome/ -
foo/bar/../bazbecomesfoo/baz -
foo/./barbecomesfoo/bar -
foo//barbecomesfoo/bar
This function is not based on the normalise function from the filepath library, as that function is quite broken.
(-<.>) :: FilePath -> String -> FilePathSource
Remove the current extension and add another, an alias for replaceExtension.
toStandard :: FilePath -> FilePathSource
Convert all path separators to /, even on Windows.