Agda-2.8.0: A dependently typed functional programming language and proof assistant

Safe Haskell | None
Language | Haskell2010

Agda.Utils.IO.Directory

Synopsis

- copyDirContent :: FilePath -> FilePath -> IO ()
- copyIfChanged :: FilePath -> FilePath -> IO ()
- findWithInfo :: RecursionPredicate -> FilterPredicate -> FilePath -> IO [FileInfo]

# Documentation

copyDirContent :: FilePath -> FilePath -> IO () Source #

`copyDirContent src dest` recursively copies directory `src` onto `dest`.

First, a to-do list of copy actions is created. Then, the to-do list is carried out.

This avoids copying files we have just created again, which can happen if `src` and `dest` are not disjoint. (See issue #2705.)

copyIfChanged :: FilePath -> FilePath -> IO () Source #

`copyIfChanged src dst` makes sure that `dst` exists and has the same content as `dst`.

findWithInfo Source #

Arguments

:: RecursionPredicate | Control recursion into subdirectories.
-> FilterPredicate | Decide whether a file appears in the result.
-> FilePath | Directory to start searching.
-> IO [FileInfo] | Files that matched the `FilterPredicate`.

Search a directory recursively, with recursion controlled by a `RecursionPredicate`. Lazily return a unsorted list of all files matching the given `FilterPredicate`. Any errors that occur are ignored, with warnings printed to `stderr`.