@@ -102,7 +102,7 @@ import qualified Data.ByteString as B
102import qualified Data.ByteString.Lazy as BL
102import qualified Data.ByteString.Lazy as BL
103import qualified System.Environment as IO (lookupEnv)
103import qualified System.Environment as IO (lookupEnv)
104import System.FilePath.Glob (match, compile)
104import System.FilePath.Glob (match, compile)
105−import System.Directory (createDirectoryIfMissing, listDirectory,
105+import System.Directory (createDirectoryIfMissing, getDirectoryContents,
106 doesDirectoryExist)
106 doesDirectoryExist)
107import System.FilePath ((</>), (<.>), takeDirectory,
107import System.FilePath ((</>), (<.>), takeDirectory,
108 takeExtension, dropExtension, isRelative, normalise)
108 takeExtension, dropExtension, isRelative, normalise)
@@ -486,7 +486,10 @@ addToFileTree (FileTree treemap) fp = do
486 isdir <- doesDirectoryExist fp
486 isdir <- doesDirectoryExist fp
488 then do -- recursively add contents of directories
488 then do -- recursively add contents of directories
489− fs <- map (fp </>) <$> listDirectory fp
489+ let isSpecial ".." = True
490+ isSpecial "." = True
492+ fs <- (map (fp </>) . filter (not . isSpecial)) <$> getDirectoryContents fp
490 foldM addToFileTree (FileTree treemap) fs
493 foldM addToFileTree (FileTree treemap) fs
492 contents <- B.readFile fp
495 contents <- B.readFile fp