darcsSource codeContentsIndex
Darcs.RepoPath
Contents
AbsolutePath
AbsolutePathOrStd
AbsoluteOrRemotePath
SubPath
Miscellaneous
Description
Various abstractions for dealing with paths.
Synopsis
data AbsolutePath
makeAbsolute :: AbsolutePath -> FilePath -> AbsolutePath
ioAbsolute :: FilePath -> IO AbsolutePath
rootDirectory :: AbsolutePath
data AbsolutePathOrStd
makeAbsoluteOrStd :: AbsolutePath -> String -> AbsolutePathOrStd
ioAbsoluteOrStd :: String -> IO AbsolutePathOrStd
useAbsoluteOrStd :: (AbsolutePath -> IO a) -> IO a -> AbsolutePathOrStd -> IO a
data AbsoluteOrRemotePath
ioAbsoluteOrRemote :: String -> IO AbsoluteOrRemotePath
isRemote :: AbsoluteOrRemotePath -> Bool
data SubPath
makeSubPathOf :: AbsolutePath -> AbsolutePath -> Maybe SubPath
simpleSubPath :: FilePath -> Maybe SubPath
sp2fn :: SubPath -> FileName
class FilePathOrURL a where
toPath :: a -> String
class FilePathOrURL a => FilePathLike a where
toFilePath :: a -> FilePath
getCurrentDirectory :: IO AbsolutePath
setCurrentDirectory :: FilePathLike p => p -> IO ()
AbsolutePath
data AbsolutePath Source
show/hide Instances
makeAbsolute :: AbsolutePath -> FilePath -> AbsolutePathSource

Take an absolute path and a string representing a (possibly relative) path and combine them into an absolute path. If the second argument is already absolute, then the first argument gets ignored. This function also takes care that the result is converted to Posix convention and normalized. Also, parent directories ("..") at the front of the string argument get canceled out against trailing directory parts of the absolute path argument.

Regarding the last point, someone more familiar with how these functions are used should verify that this is indeed necessary or at least useful.

ioAbsolute :: FilePath -> IO AbsolutePathSource
Interpret a possibly relative path wrt the current working directory.
rootDirectory :: AbsolutePathSource
The root directory as an absolute path.
AbsolutePathOrStd
data AbsolutePathOrStd Source
This is for situations where a string (e.g. a command line argument) may take the value "-" to mean stdin or stdout (which one depends on context) instead of a normal file path.
show/hide Instances
makeAbsoluteOrStd :: AbsolutePath -> String -> AbsolutePathOrStdSource
ioAbsoluteOrStd :: String -> IO AbsolutePathOrStdSource
useAbsoluteOrStd :: (AbsolutePath -> IO a) -> IO a -> AbsolutePathOrStd -> IO aSource
Execute either the first or the second argument action, depending on whether the given path is an AbsolutePath or stdin/stdout.
AbsoluteOrRemotePath
data AbsoluteOrRemotePath Source
show/hide Instances
ioAbsoluteOrRemote :: String -> IO AbsoluteOrRemotePathSource
isRemote :: AbsoluteOrRemotePath -> BoolSource
SubPath
data SubPath Source
Paths which are relative to the local darcs repository and normalized. Note: These are understood not to have the dot in front.
show/hide Instances
makeSubPathOf :: AbsolutePath -> AbsolutePath -> Maybe SubPathSource
Make the second path relative to the first, if possible
simpleSubPath :: FilePath -> Maybe SubPathSource
Miscellaneous
sp2fn :: SubPath -> FileNameSource
class FilePathOrURL a whereSource
Methods
toPath :: a -> StringSource
show/hide Instances
class FilePathOrURL a => FilePathLike a whereSource
Methods
toFilePath :: a -> FilePathSource
show/hide Instances
getCurrentDirectory :: IO AbsolutePathSource
setCurrentDirectory :: FilePathLike p => p -> IO ()Source
Produced by Haddock version 2.4.2