path-io
Interface to ‘directory’ package for users of ‘path’
https://github.com/mrkkrp/path-io
| Version on this page: | 1.4.2 |
| LTS Haskell 24.18: | 1.8.2 |
| Stackage Nightly 2025-11-04: | 1.8.2 |
| Latest on Hackage: | 1.8.2 |
path-io-1.4.2@sha256:607be3e2bbeee5aedd52efeb866195e6d190fa6d55cd6793a62d3654198c80eb,2630Module documentation for 1.4.2
- Path
Path IO
This package provides an interface to
the directory package for
users of Chris Done’s path. It
also implements some missing stuff like recursive scanning and copying of
directories, working with temporary files/directories, etc.
Consult Haddocks for usage, which should be trivial.
License
Copyright © 2016–2019 Mark Karpov
Distributed under BSD 3 clause license.
Changes
Path IO 1.4.2
- Fixed various bugs in
listDirRecurRel,walkDirRel, andwalkDirAccumReland clarified their behavior in the docs.
Path IO 1.4.1
- Fixed a bug in
walkDirRelthat resulted inNotAProperPrefixexception every time the function was called.
Path IO 1.4.0
-
Added relative versions of some actions:
listDirRel,listDirRecurRel,walkDirRel, andwalkDirAccumRel. -
Dropped support for GHC 7.8.
Path IO 1.3.3
- (Hopefully) fixed test suite failure with Cabal 2.0 and GHC 8.2.1.
Path IO 1.3.2
- Reduce a number of
(MonadIO m, MonadThrow m)constraints to justMonadIO m#27
Path IO 1.3.1
- Made
listDirRecurfaster for deep directory trees.
Path IO 1.3.0
-
Change the default behavior of recursive traversal APIs to not follow symbolic links. The change affects the following functions:
listDirRecur,copyDirRecur, andcopyDirRecur'. -
Add
isSymlinkwhich allows to test whether a path is a symbolic link. -
Move the type functions
AbsPathandRelPathto theAnyPathtype class (previously they were standalone closed type families, now they are associated types ofAnyPath). -
Improved the documentation and metadata.
Path IO 1.2.3
- Allowed
time-1.7.
Path IO 1.2.2
-
Fixed a bug in
setModificationTimefunction that previously calledsetAccessTimeinstead ofsetModificationTimefromdirectory. -
Added notes to all pieces of API that are conditional (some functions are only available if
directory-1.2.3.0or later is used, now it’s mentioned for every such function explicitely).
Path IO 1.2.1
-
Allowed
directory-1.3.0.0. -
Added
getXdgDir. Only available ofdirectory-1.2.3.0or later is used. -
Various cosmetic improvements.
Path IO 1.2.0
-
Added
walkDirfunction to traverse a directory tree with a handler. -
Added
walkDirAccumfunction which is likewalkDirbut also accepts an output writer and returns the accumulated output. -
All recursive traversal functions (existing and new) now safely handle directory loops due to symbolic or hard links.
-
Added “since” notes to public functions in API.
Path IO 1.1.0
-
Fixed bug in
copyDirRecurwhen it was unable to fully copy read-only directories. -
Added
copyDirRecur'function that works just likecopyDirRecur, but does not preserve directory permissions.
Path IO 1.0.1
-
Fixed bug in
copyDirRecurfor non-existing destination paths when directory to copy does not contain sub-directories. -
Made
copyDirRecurtry to copy permissions for destination directory too (previously it only tried to copy them for sub-directories).
Path IO 1.0.0
-
Changed signature of
getAppUserDataDir, so it takesStringas the first argument. -
Removed deprecated
forgivingAbsence'function. -
Made
findFilelazier, it stops searching as soon as a file is found. -
Added some tests.
Path IO 0.3.1
-
Introduced synonym for
forgivingAbsence'—ignoringAbsence.forgivingAbsence'is deprecated now, but it’s still there. -
Added a handy shortcut
ensureDirthat is defined asensureDir = createDirIfMissing True. -
Made
getHomeDirandgetTempDirmore robust when they are influenced by values of environment variables.
Path IO 0.3.0
-
Added
forgivingAbsence,resolveFile, andresolveDirfunctions, so the package now provides all functionality thatPath.IOmodule in Stack has. -
Added closed type family
RelPath,makeRelative, andmakeRelativeToCurrentDirfunctions. -
Fixed signature of
getAppUserDataDir.
Path IO 0.2.0
- Added functions from
temporary:withTempFile,withTempDir,withSystemTempFile,withSystemTempDir,openTempFile,openBinaryTempFile, andcreateTempDir.temporaryis a lightweight and ubiquitous package, so depending on it should be OK.
Path IO 0.1.1
- Fixed type signatures of
renameFileandcopyFile.
Path IO 0.1.0
- Initial release.