#![cfg_attr(feature = "fail-on-warnings", deny(warnings))]
#![warn(clippy::all, clippy::pedantic, clippy::nursery, clippy::cargo)]
#![allow(clippy::multiple_crate_versions)]
mod apply;
mod copy;
mod error;
mod plan;
mod symlink;
pub use apply::{
ApplyConfigOptions, ApplyResult, OperationRecord, apply_config, execute_operation,
};
pub use copy::{
copy_directory, copy_directory_with_progress, copy_file, copy_file_with_progress,
overwrite_file, overwrite_file_with_progress,
};
pub use error::OperationError;
pub use plan::{
OperationType, PlannedOperation, plan_operations, plan_operations_with_progress,
plan_unstaged_operations,
};
pub use symlink::{create_symlink, force_create_symlink};
pub use worktree_setup_copy::CopyProgress;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum OperationResult {
Created,
Exists,
Skipped,
Overwritten,
}
impl std::fmt::Display for OperationResult {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::Created => write!(f, "created"),
Self::Exists => write!(f, "exists"),
Self::Skipped => write!(f, "skipped"),
Self::Overwritten => write!(f, "overwritten"),
}
}
}