mirror of https://github.com/astral-sh/uv
28 lines
768 B
Rust
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)
|
|
}
|
|
}
|