#[derive(Default, Copy, Clone, Debug, PartialEq, Eq)]
pub enum OverwriteMode {
#[default]
Overwrite,
Skip,
Error,
Backup,
}
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum ErrorAction {
Skip,
Abort,
}
pub type DirFilter = Box<dyn Fn(&str) -> bool + 'static>;
pub type DirErrorHandler = Box<dyn Fn(&str, &anyhow::Error) -> ErrorAction + 'static>;
pub(crate) type DirFilterRef = dyn Fn(&str) -> bool + 'static;
pub(crate) type DirErrorHandlerRef = dyn Fn(&str, &anyhow::Error) -> ErrorAction + 'static;