file-engine 2.2.0

Async, cross-platform file operations engine for desktop apps and developer tools: copy, move, sync, watch, and compress files with progress reporting and cancellation.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/// How `AnalyzeBuilder::start()` handles a per-entry error mid-walk
/// (e.g. a permission-denied subdirectory, or a symlink loop under
/// `.follow_symlinks(true)`).
///
/// Deliberately a smaller enum than `planner::ErrorStrategy` rather than
/// reusing it: analysis never writes anything, so `Undo` has no meaning
/// here, and `ErrorStrategy` lives behind the `operations` feature,
/// which `analyze` doesn't require.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum AnalysisErrorStrategy {
    /// Skip the offending entry, record it in `AnalysisReport::errors`
    /// (subject to the `max_reported_errors` cap), and keep walking.
    #[default]
    ContinueAndCollect,
    /// Stop the walk and return the error from `.start()`'s `Handle`
    /// the moment one is encountered.
    AbortOnError,
}