| Stability | unstable |
|---|---|
| Portability | unportable |
| Safe Haskell | None |
| Language | Haskell2010 |
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.
andM :: Monad m => m Bool -> m Bool -> m Bool Source
Copy data from one handle to another until end of file.
dropSpecialDotDirs :: [OsPath] -> [OsPath] Source
emptyListT :: forall (m :: Type -> Type) a. Applicative m => ListT m a Source
emptyToCurDir :: OsPath -> OsPath Source
Convert empty paths to the current directory, otherwise leave it unchanged.
expandDots :: [OsPath] -> [OsPath] Source
Given a list of path segments, expand . and ... The path segments must not contain path separators.
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.
ignoreIOExceptions :: IO () -> IO () Source
Attempt to perform the given action, silencing any IO exception thrown by it.
ioeAddLocation :: IOError -> String -> IOError Source
ioeSetOsPath :: IOError -> OsPath -> IOError Source
isNoFollow :: WhetherFollow -> Bool 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
listToListT :: forall (m :: Type -> Type) a. Applicative m => [a] -> ListT m a Source
maybeToListT :: Applicative m => m (Maybe a) -> ListT m a Source
normalisePathSeps :: OsPath -> OsPath Source
Convert to the right kind of slashes.
normaliseTrailingSep :: OsPath -> OsPath Source
Remove redundant trailing slashes and pick the right kind of slash.
os :: String -> OsString Source
Fallibly converts String to OsString. Only intended to be used on literals.
rightOrError :: Exception e => Either e a -> a Source
sequenceWithIOErrors_ :: [IO ()] -> IO () Source
simplifyPosix :: OsPath -> OsPath Source
Similar to normalise but empty paths stay empty.
simplifyWindows :: OsPath -> OsPath Source
Similar to normalise but:
..) are expanded, and\\?\ are preserved.The goal is to preserve the meaning of paths better than normalise.
so :: OsString -> String Source
Fallibly converts OsString to String. Only intended to be used on literals.
specializeErrorString :: String -> (IOError -> Bool) -> IO a -> IO a 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.
withBinaryFile :: OsPath -> IOMode -> (Handle -> IO r) -> IO r Source
| File | |
| SymbolicLink | POSIX: either file or directory link; Windows: file link |
| Directory | |
| DirectoryLink | Windows only: directory link |
| Bounded FileType Source | |
Defined in System.Directory.Internal.Common | |
| Enum FileType Source | |
Defined in System.Directory.Internal.Common | |
| Read FileType Source | |
| Show FileType Source | |
| Eq FileType Source | |
| Ord FileType Source | |
Defined in System.Directory.Internal.Common | |
newtype ListT (m :: Type -> Type) a Source
A generator with side-effects.
data Permissions Source
| Permissions | |
Fields
| |
| Read Permissions Source | |
Defined in System.Directory.Internal.Common MethodsreadsPrec :: Int -> ReadS Permissions readList :: ReadS [Permissions] | |
| Show Permissions Source | |
Defined in System.Directory.Internal.Common MethodsshowsPrec :: Int -> Permissions -> ShowS show :: Permissions -> String showList :: [Permissions] -> ShowS | |
| Eq Permissions Source | |
Defined in System.Directory.Internal.Common | |
| Ord Permissions Source | |
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 | |
data WhetherFollow Source
| NoFollow | |
| FollowLinks |
| Show WhetherFollow Source | |
Defined in System.Directory.Internal.Common MethodsshowsPrec :: Int -> WhetherFollow -> ShowS show :: WhetherFollow -> String showList :: [WhetherFollow] -> ShowS | |
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
| 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 |
| XdgState |
For data that should persist between (application) restarts, but that is not important or portable enough to the user that it should be stored in Since: directory-1.3.7.0 |
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
| XdgDataDirs | For data files (e.g. images). It uses the |
| XdgConfigDirs | For configuration files. It uses the |
Type representing filenames/pathnames.
This type doesn't add any guarantees over OsString.
Newtype representing short operating system specific strings.
Internally this is either WindowsString or PosixString, depending on the platform. Both use unpinned ShortByteString for efficiency.
The constructor is only exported via System.OsString.Internal.Types, since dealing with the internals isn't generally recommended, but supported in case you need to write platform specific code.
| NFData OsString | |||||
Defined in System.OsString.Internal.Types | |||||
| Monoid OsString Source | "String-Concatenation" for |
||||
| Semigroup OsString Source | |||||
| Generic OsString Source | |||||
Defined in System.OsString.Internal.Types Associated Types
| |||||
| Show OsString Source | On windows, decodes as UCS-2. On unix prints the raw bytes without decoding. |
||||
| Eq OsString Source | Byte equality of the internal representation. |
||||
| Ord OsString Source | Byte ordering of the internal representation. |
||||
Defined in System.OsString.Internal.Types | |||||
| Lift OsString | |||||
| type Rep OsString Source | |||||
Defined in System.OsString.Internal.Types type Rep OsString = D1 ('MetaData "OsString" "System.OsString.Internal.Types" "os-string-2.0.7-3f43" 'True) (C1 ('MetaCons "OsString" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOsString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PlatformString))) | |||||
accessTimeFromMetadata :: Metadata -> UTCTime Source
allWriteMode :: FileMode Source
atWhetherFollow :: WhetherFollow -> CInt Source
c_AT_FDCWD :: Fd Source
c_AT_SYMLINK_NOFOLLOW :: CInt Source
c_PATH_MAX :: Maybe Int Source
c_fchmodat :: Fd -> CString -> FileMode -> CInt -> IO CInt Source
c_free :: Ptr a -> IO () Source
c_fstatat :: Fd -> CString -> Ptr CStat -> CInt -> IO CInt Source
c_realpath :: CString -> CString -> IO CString Source
c_unlinkat :: Fd -> CString -> CInt -> IO CInt Source
canonicalizePathSimplify :: OsPath -> IO OsPath Source
closeRaw :: RawHandle -> IO () 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.
copyFileWithMetadataInternal :: (Metadata -> OsPath -> IO ()) -> (Metadata -> OsPath -> IO ()) -> OsPath -> OsPath -> IO () Source
copyGroupFromStatus :: FileStatus -> OsPath -> IO () Source
copyOwnerFromStatus :: FileStatus -> OsPath -> IO () Source
createDirectoryInternal :: OsPath -> IO () Source
createHardLink :: OsPath -> OsPath -> IO () Source
createSymbolicLink :: Bool -> OsPath -> OsPath -> IO () Source
defaultOpenFlags :: OpenFileFlags Source
exeExtensionInternal :: OsString Source
fileSizeFromMetadata :: Metadata -> Integer Source
fileTypeFromMetadata :: Metadata -> FileType Source
filesAlwaysRemovable :: Bool Source
findExecutablesLazyInternal :: ([OsPath] -> OsString -> ListT IO OsPath) -> OsString -> ListT IO OsPath Source
getAccessPermissions :: OsPath -> IO Permissions Source
getAppUserDataDirectoryInternal :: OsPath -> IO OsPath Source
getCurrentDirectoryInternal :: IO OsPath Source
getDirectoryContentsInternal :: OsPath -> IO [OsPath] Source
getEnvOs :: OsString -> IO OsString Source
getFileMetadata :: OsPath -> IO Metadata Source
getHomeDirectoryInternal :: IO OsPath 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.
getMetadataAt :: WhetherFollow -> Maybe RawHandle -> OsPath -> IO Metadata Source
Get the contents of the PATH environment variable.
getSymbolicLinkMetadata :: OsPath -> IO Metadata Source
getTemporaryDirectoryInternal :: IO OsPath Source
getUserDocumentsDirectoryInternal :: IO OsPath Source
getXdgDirectoryFallback :: IO OsPath -> XdgDirectory -> IO OsPath Source
getXdgDirectoryListFallback :: XdgDirectoryList -> IO [OsPath] Source
hasWriteMode :: Mode -> Bool Source
linkToDirectoryIsDirectory :: Bool Source
lookupEnvOs :: OsString -> IO (Maybe OsString) Source
modeFromMetadata :: Metadata -> Mode Source
modificationTimeFromMetadata :: Metadata -> UTCTime Source
openDirFromFd :: Fd -> IO DirStream Source
openRaw :: WhetherFollow -> Maybe RawHandle -> OsPath -> IO RawHandle Source
prependCurrentDirectory :: OsPath -> IO OsPath 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.
readDirStreamToEnd :: DirStream -> IO [OsPath] Source
readDirToEnd :: RawHandle -> IO [OsPath] Source
readSymbolicLink :: OsPath -> IO OsPath Source
realPath :: OsPath -> IO OsPath Source
removePathAt :: FileType -> Maybe RawHandle -> OsPath -> IO () Source
removePathInternal :: Bool -> OsPath -> IO () Source
renamePathInternal :: OsPath -> OsPath -> IO () Source
setAccessPermissions :: OsPath -> Permissions -> IO () Source
setCurrentDirectoryInternal :: OsPath -> IO () Source
setFileMode :: OsPath -> Mode -> IO () Source
setFilePermissions :: OsPath -> Mode -> IO () Source
setForceRemoveMode :: Mode -> Mode Source
setModeAt :: WhetherFollow -> Maybe RawHandle -> OsPath -> Mode -> IO () Source
setTimes :: OsPath -> (Maybe POSIXTime, Maybe POSIXTime) -> IO () Source
setWriteMode :: Bool -> Mode -> Mode Source
simplify :: OsPath -> OsPath Source
On POSIX, equivalent to simplifyPosix.
tryCopyOwnerAndGroupFromStatus :: FileStatus -> OsPath -> IO () Source
withRealpath :: CString -> (CString -> IO a) -> IO a Source
type Metadata = FileStatus Source
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/directory-1.3.9.0-4f6e/System-Directory-Internal.html