Commit Graph

21 Commits

Author SHA1 Message Date
hasufell af6516a454 LIB: rm unneded import 2015-12-27 05:31:19 +01:00
Julian Ospald 400a0242d6
LIB/GTK: refactor ViewPatterns/PatternSynonyms 2015-12-26 22:00:08 +01:00
Julian Ospald 83816ef1a6
LIB: fix isBrokenSymlink 2015-12-26 21:59:17 +01:00
Julian Ospald 3bd201f1b6
LIB: add more useful pattern synonyms 2015-12-26 20:28:00 +01:00
Julian Ospald 0ec4aaac54
LIB/GTK: reduce usage of System.Directory (directory package) 2015-12-26 16:02:25 +01:00
Julian Ospald c98db302ba
LIB: normalize instead of canonicalizePath'
We shouldn't follow symlinks in our internal paths, because that makes
us lose information. However, we normalize where we could have passed
user input, so we don't end up with ill-formed anchors/names.
2015-12-25 15:18:05 +01:00
Julian Ospald b9e4b96c4a
Add GPL-2 license headers 2015-12-24 18:25:05 +01:00
Julian Ospald 5c8907143a
LIB: add symlink helpers 2015-12-24 17:45:04 +01:00
Julian Ospald 2ca7df5696
LIB: style formatting 2015-12-24 05:53:11 +01:00
Julian Ospald 47aee871be
LIB/GTK: improve our ViewPatterns/PatternSynonyms + refactor 2015-12-24 03:11:17 +01:00
Julian Ospald 5f183bef3f
LIB/GTK: use new data structure with explicit SymLink constructor
This still needs a lot of work to function consistently, but it's better
than the old approach.
2015-12-23 22:50:04 +01:00
Julian Ospald 09821f8fc2
LIB: implement file moving operations 2015-12-23 16:08:39 +01:00
Julian Ospald 6b89dd8564
LIB: make pattern IsSymL more lazy 2015-12-22 19:50:24 +01:00
Julian Ospald eba0c95f8c
LIB: simplify symlink pattern matching via ViewPatterns/PatternSynonyms 2015-12-22 19:40:29 +01:00
Julian Ospald 2486d83260
LIB/GTK: use AnchoredFile in IO.File
What's the point of having it anyway if we don't?
2015-12-22 14:15:48 +01:00
Julian Ospald 433cb164a6
LIB: improve symlink handling 2015-12-21 18:32:53 +01:00
Julian Ospald 988350967a
LIB: wrap canonicalizePath so it doesn't follow the last symlink component
canonicalizePath tries to remove as many symlink components as possible,
but this is not what we want for a lot of operations like copying
files. So instead we preserve the last path component if it's a symlink
and canonicalize it's parent filepath.
2015-12-21 17:15:31 +01:00
Julian Ospald 0867c8b2e3
LIB/GTK: add '.' and '..' files, remove fsState and improve safety
We use canonicalizePaths where we need well-formed paths and cannot
rely on the input being sane.
2015-12-21 05:41:12 +01:00
Julian Ospald fe6145d5be
LIB/GTK: change DirTree again
we now have:
* AnchoredFile -- for representing a file with context
* File         -- for representing a file only

Both representations mean "file" in the broader sense, including
directories.
2015-12-21 00:41:02 +01:00
Julian Ospald 3ba647d172
LIB/GTK: rewrite to use more atomic operations/data structures
This is a little bit less fancy, but avoids lazy IO. It depends a
little bit more on FilePath, but that also allows for a more general
interface.
2015-12-20 00:30:52 +01:00
Julian Ospald d13cdac9e0
Initial commit 2015-12-17 04:42:22 +01:00