System.Directory.Internal
Stability | unstable |
---|---|
Portability | unportable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Description
Internal modules are always subject to change from version to version. The contents of this module are also platform-dependent, hence what is shown in the Hackage documentation may differ from what is actually available on your system.
A generator with side-effects.
emptyListT :: Applicative m => ListT m a Source
maybeToListT :: Applicative m => m (Maybe a) -> ListT m a Source
listToListT :: Applicative m => [a] -> ListT m a Source
liftJoinListT :: Monad m => m (ListT m a) -> ListT m a Source
listTHead :: Functor m => ListT m a -> m (Maybe a) Source
listTToList :: Monad m => ListT m a -> m [a] Source
andM :: Monad m => m Bool -> m Bool -> m Bool Source
sequenceWithIOErrors_ :: [IO ()] -> IO () Source
tryIOErrorType :: (IOError -> Bool) -> IO a -> IO (Either IOError a) Source
Similar to try
but only catches a specify kind of IOError
as specified by the predicate.
ignoreIOExceptions :: IO () -> IO () Source
Attempt to perform the given action, silencing any IO exception thrown by it.
specializeErrorString :: String -> (IOError -> Bool) -> IO a -> IO a Source
ioeAddLocation :: IOError -> String -> IOError Source
expandDots :: [FilePath] -> [FilePath] Source
Given a list of path segments, expand .
and ..
. The path segments must not contain path separators.
normalisePathSeps :: FilePath -> FilePath Source
Convert to the right kind of slashes.
normaliseTrailingSep :: FilePath -> FilePath Source
Remove redundant trailing slashes and pick the right kind of slash.
emptyToCurDir :: FilePath -> FilePath Source
Convert empty paths to the current directory, otherwise leave it unchanged.
simplifyPosix :: FilePath -> FilePath Source
Similar to normalise
but empty paths stay empty.
simplifyWindows :: FilePath -> FilePath Source
Similar to normalise
but:
- empty paths stay empty,
- parent dirs (
..
) are expanded, and - paths starting with
\\?\
are preserved.
The goal is to preserve the meaning of paths better than normalise
.
Constructors
File | |
SymbolicLink | POSIX: either file or directory link; Windows: file link |
Directory | |
DirectoryLink | Windows only: directory link |
Instances
Bounded FileType | |
Enum FileType | |
Defined in System.Directory.Internal.Common Methodssucc :: FileType -> FileType Source pred :: FileType -> FileType Source toEnum :: Int -> FileType Source fromEnum :: FileType -> Int Source enumFrom :: FileType -> [FileType] Source enumFromThen :: FileType -> FileType -> [FileType] Source enumFromTo :: FileType -> FileType -> [FileType] Source enumFromThenTo :: FileType -> FileType -> FileType -> [FileType] Source | |
Eq FileType | |
Ord FileType | |
Defined in System.Directory.Internal.Common | |
Read FileType | |
Show FileType | |
fileTypeIsDirectory :: FileType -> Bool Source
Check whether the given FileType
is considered a directory by the operating system. This affects the choice of certain functions e.g. removeDirectory
vs removeFile
.
fileTypeIsLink :: FileType -> Bool Source
Return whether the given FileType
is a link.
data Permissions Source
Constructors
Permissions | |
Fields
|
Instances
Eq Permissions | |
Defined in System.Directory.Internal.Common | |
Ord Permissions | |
Defined in System.Directory.Internal.Common Methodscompare :: Permissions -> Permissions -> Ordering (<) :: Permissions -> Permissions -> Bool (<=) :: Permissions -> Permissions -> Bool (>) :: Permissions -> Permissions -> Bool (>=) :: Permissions -> Permissions -> Bool max :: Permissions -> Permissions -> Permissions min :: Permissions -> Permissions -> Permissions | |
Read Permissions | |
Defined in System.Directory.Internal.Common MethodsreadsPrec :: Int -> ReadS Permissions Source readList :: ReadS [Permissions] Source | |
Show Permissions | |
Defined in System.Directory.Internal.Common MethodsshowsPrec :: Int -> Permissions -> ShowS Source show :: Permissions -> String Source showList :: [Permissions] -> ShowS Source |
Truncate the destination file and then copy the contents of the source file to the destination file. If the destination file already exists, its attributes shall remain unchanged. Otherwise, its attributes are reset to the defaults.
Copy all data from a file to a handle.
Copy data from one handle to another until end of file.
data XdgDirectory Source
Special directories for storing user-specific application data, configuration, and cache files, as specified by the XDG Base Directory Specification.
Note: On Windows, XdgData
and XdgConfig
usually map to the same directory.
Since: directory-1.2.3.0
Constructors
XdgData | For data files (e.g. images). It uses the |
XdgConfig | For configuration files. It uses the |
XdgCache | For non-essential files (e.g. cache). It uses the |
Instances
data XdgDirectoryList Source
Search paths for various application data, as specified by the XDG Base Directory Specification.
The list of paths is split using searchPathSeparator
, which on Windows is a semicolon.
Note: On Windows, XdgDataDirs
and XdgConfigDirs
usually yield the same result.
Since: directory-1.3.2.0
Constructors
XdgDataDirs | For data files (e.g. images). It uses the |
XdgConfigDirs | For configuration files. It uses the |
Instances
createDirectoryInternal :: FilePath -> IO () Source
removePathInternal :: Bool -> FilePath -> IO () Source
renamePathInternal :: FilePath -> FilePath -> IO () Source
simplify :: FilePath -> FilePath Source
On POSIX, equivalent to simplifyPosix
.
c_free :: Ptr a -> IO () Source
c_PATH_MAX :: Maybe Int Source
c_realpath :: CString -> CString -> IO CString Source
withRealpath :: CString -> (CString -> IO a) -> IO a Source
canonicalizePathWith :: ((FilePath -> IO FilePath) -> FilePath -> IO FilePath) -> FilePath -> IO FilePath Source
canonicalizePathSimplify :: FilePath -> IO FilePath Source
findExecutablesLazyInternal :: ([FilePath] -> String -> ListT IO FilePath) -> String -> ListT IO FilePath Source
exeExtensionInternal :: String Source
getDirectoryContentsInternal :: FilePath -> IO [FilePath] Source
getCurrentDirectoryInternal :: IO FilePath Source
prependCurrentDirectory :: FilePath -> IO FilePath Source
Convert a path into an absolute path. If the given path is relative, the current directory is prepended and the path may or may not be simplified. If the path is already absolute, the path is returned unchanged. The function preserves the presence or absence of the trailing path separator.
If the path is already absolute, the operation never fails. Otherwise, the operation may throw exceptions.
Empty paths are treated as the current directory.
setCurrentDirectoryInternal :: FilePath -> IO () Source
linkToDirectoryIsDirectory :: Bool Source
createSymbolicLink :: Bool -> FilePath -> FilePath -> IO () Source
readSymbolicLink :: FilePath -> IO FilePath Source
type Metadata = FileStatus Source
getSymbolicLinkMetadata :: FilePath -> IO Metadata Source
getFileMetadata :: FilePath -> IO Metadata Source
fileTypeFromMetadata :: Metadata -> FileType Source
fileSizeFromMetadata :: Metadata -> Integer Source
accessTimeFromMetadata :: Metadata -> UTCTime Source
modificationTimeFromMetadata :: Metadata -> UTCTime Source
posix_accessTimeHiRes :: FileStatus -> POSIXTime Source
posix_modificationTimeHiRes :: FileStatus -> POSIXTime Source
modeFromMetadata :: Metadata -> Mode Source
allWriteMode :: FileMode Source
hasWriteMode :: Mode -> Bool Source
setWriteMode :: Bool -> Mode -> Mode Source
setFileMode :: FilePath -> Mode -> IO () Source
setFilePermissions :: FilePath -> Mode -> IO () Source
getAccessPermissions :: FilePath -> IO Permissions Source
setAccessPermissions :: FilePath -> Permissions -> IO () Source
copyOwnerFromStatus :: FileStatus -> FilePath -> IO () Source
copyGroupFromStatus :: FileStatus -> FilePath -> IO () Source
tryCopyOwnerAndGroupFromStatus :: FileStatus -> FilePath -> IO () Source
copyFileWithMetadataInternal :: (Metadata -> FilePath -> IO ()) -> (Metadata -> FilePath -> IO ()) -> FilePath -> FilePath -> IO () Source
setTimes :: FilePath -> (Maybe POSIXTime, Maybe POSIXTime) -> IO () Source
getPath :: IO [FilePath] Source
Get the contents of the PATH
environment variable.
getHomeDirectoryInternal :: IO FilePath Source
$HOME is preferred, because the user has control over it. However, POSIX doesn't define it as a mandatory variable, so fall back to getpwuid_r
.
getXdgDirectoryFallback :: IO FilePath -> XdgDirectory -> IO FilePath Source
getXdgDirectoryListFallback :: XdgDirectoryList -> IO [FilePath] Source
getAppUserDataDirectoryInternal :: FilePath -> IO FilePath Source
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/directory-1.3.6.0/System-Directory-Internal.html