uv/crates/uv-configuration/src/dry_run.rs

28 lines
768 B
Rust

#[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
pub enum DryRun {
/// The operation should execute in dry run mode.
Enabled,
/// The operation should execute in dry run mode and check if the current environment is
/// synced.
Check,
/// The operation should execute in normal mode.
#[default]
Disabled,
}
impl DryRun {
/// Determine the [`DryRun`] setting based on the command-line arguments.
pub fn from_args(dry_run: bool) -> Self {
if dry_run {
DryRun::Enabled
} else {
DryRun::Disabled
}
}
/// Returns `true` if dry run mode is enabled.
pub const fn enabled(&self) -> bool {
matches!(self, DryRun::Enabled) || matches!(self, DryRun::Check)
}
}