Commit Graph

52 Commits

Author SHA1 Message Date
Julian Ospald 3e6d93182a
Abstract over Path more properly
We don't expect "Path Abs" everywhere anymore. The functions
have been made to be more generic. A user can still pass
absolute paths, so we don't lose any safety. However, some
function implementations may be more tricky.
2018-04-11 01:11:00 +02:00
Julian Ospald 0ec2cf8ca5 Add writeFile and appendFile 2018-04-06 17:22:38 +02:00
Julian Ospald 9ac10a6a7d Add file reading functions 2018-04-06 16:42:40 +02:00
Julian Ospald 5d5b0ae3c1
Add missing language pragma 2016-06-14 19:32:14 +02:00
Julian Ospald f47c8edb42
Fix build for GHC < 7.10 2016-06-14 19:21:03 +02:00
Julian Ospald ef66a24f87
Improve error handling
* remove some obsolete functions and error types from HPath.IO.Errors
  that are completely unused
* reworked the RecursiveFailure type to contain more information,
  so we can use it to programmatically make useful choices
  without examining the weakly types IO error attributes (like
  'ioGetFileName')
2016-06-14 19:13:25 +02:00
Julian Ospald 4dec385332
Improve createDirRecursive 2016-06-13 01:38:44 +02:00
Julian Ospald 5b08e14b55
Add createDirRecursive, fixes #6 2016-06-13 01:28:55 +02:00
Julian Ospald ac381cbf60
Improve documentation 2016-06-05 22:19:30 +02:00
Julian Ospald ce7fdcdcd6
Move documentation note about RecursiveFailure where it belongs 2016-06-05 22:04:16 +02:00
Julian Ospald a31c9d1e88
Improve documentation and tests for file creation 2016-06-05 21:59:31 +02:00
Julian Ospald a5942ff026
Use IfElse package for whenM/unlessM 2016-06-05 21:52:52 +02:00
Julian Ospald 92017ab630
Make createRegularFile and createDir accept FileMode parameter 2016-06-05 17:46:25 +02:00
Julian Ospald 16af98b32d
Be more specific about Overwrite mode 2016-06-05 16:38:54 +02:00
Julian Ospald 6da01e382f
Improve documentation 2016-06-05 16:31:08 +02:00
Julian Ospald d3eb2fc254
Fix build with GHC-7.8 2016-06-05 16:12:51 +02:00
Julian Ospald d12ce30f57
Fix docs and rename RecursiveMode to RecursiveErrorMode 2016-06-05 16:07:46 +02:00
Julian Ospald 7a6f0e8728
Fix spelling 2016-06-05 16:00:15 +02:00
Julian Ospald 7ed5829d47
Fix documentation 2016-06-05 15:57:41 +02:00
Julian Ospald a27d4ed55d
Improve documentation 2016-06-05 03:22:11 +02:00
Julian Ospald 64ae6db83a
New API: use CopyMode for overwriting and introduce RecursiveMode
This allows to specify the behavior on recursive operations,
such that one can collect failures instead of dying on the first
failure.
2016-06-05 03:13:33 +02:00
Julian Ospald 69dbf6714d
Relicense to BSD3 2016-06-04 00:39:03 +02:00
Julian Ospald bb590a7692
Improve documentation 2016-05-31 16:21:14 +02:00
Julian Ospald 82ea75cc88
Small documentation fix 2016-05-30 17:16:24 +02:00
Julian Ospald 08de2ebefb
Move RelC class from HPath.Internal to HPath 2016-05-30 13:02:34 +02:00
Julian Ospald 51da8bf5c2
HPath.IO: add createSymlink 2016-05-29 17:28:12 +02:00
Julian Ospald 4032629407
Add TODO 2016-05-24 03:26:07 +02:00
Julian Ospald ae9a806c2e
Fix to latest sendfile version to simplify imports 2016-05-24 03:13:36 +02:00
Julian Ospald 47dd729e8a
Small documentation improvements 2016-05-22 13:41:39 +02:00
Julian Ospald 620550dab4
Minor documentation fixes 2016-05-22 13:28:20 +02:00
Julian Ospald 8fec862304
Rm redundant import 2016-05-18 13:48:38 +02:00
Julian Ospald 797dcaf725
Backport changes from posix-paths PR:
* add isFileName
* add hasParentDir
* add hiddenFile
* add our own openFd version for more control
* small documentation improvements
* add a getDirectoryContents' version that works on Fd
* fix linting warnings
* lift version constraints in benchmark

Also adjust HPath.IO to work with the new API.
2016-05-18 04:11:40 +02:00
Julian Ospald 0fa66cd581
Use sendfile for copying and read/write as fallback 2016-05-18 03:47:39 +02:00
Julian Ospald ee3ace362b
HPath.IO: minor doc fix 2016-05-10 12:05:55 +02:00
Julian Ospald 05fcad14f1
HPath.IO.Errors: minor documentation fix 2016-05-10 02:02:05 +02:00
Julian Ospald f841a53985
HPath.IO: pretty 2016-05-10 00:36:51 +02:00
Julian Ospald eb27c368e6
HPath.IO.Errors: explicit exports, improve haddock compat 2016-05-10 00:35:33 +02:00
Julian Ospald c76df7f159
HPath.IO: small cleanup 2016-05-10 00:28:04 +02:00
Julian Ospald 613754c58f
HPath.IO: just do 'return ()' on unsupported file types where possible
Breaking the callstack with an ioError seems a bit harsh here.
2016-05-10 00:27:46 +02:00
Julian Ospald d8b0b99edf
HPath.IO.Errors: provide all exception constructor checkers 2016-05-10 00:13:14 +02:00
Julian Ospald 794c3a2fc4
HPath.IO.Errors: remove obsolete HPathIOException constructors 2016-05-10 00:12:43 +02:00
Julian Ospald 8a28a5dd0f
HPath.IO.Errors: fix throwDestinationInSource
'canonicalizePath' was missing, making this function far less reliable.
In order for this to work we have to work around circular imports
with a IO.hs-boot file.
2016-05-10 00:11:42 +02:00
Julian Ospald 930b021a32
Add missing (<$>) imports 2016-05-09 18:53:26 +02:00
Julian Ospald 14b48515a2
Add TODO to _copyFile 2016-05-09 18:15:05 +02:00
Julian Ospald 820bf8814d
Fix build with GHC versions prior 7.10.x 2016-05-09 18:14:08 +02:00
Julian Ospald f27becc4df
Cleanup, improve docs 2016-05-09 17:37:16 +02:00
Julian Ospald 86a4b9ade2
Add IO modules, previously from HSFM 2016-05-09 16:53:31 +02:00
Julian Ospald 6638cd8cc1
Create HPath.IO module, adding canonicalizePath again 2016-05-09 14:40:30 +02:00
Julian Ospald 7e8c745e35
Clean up, rewrite stuff 2016-04-16 18:17:44 +02:00
Julian Ospald 491efe44a3
Use ByteString for paths instead of String 2016-04-04 17:29:35 +02:00