anodizer_core/log/verbosity.rs
1//! Verbosity level derived from CLI flags.
2
3/// Verbosity level, derived from CLI flags.
4#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Default)]
5pub enum Verbosity {
6 Quiet,
7 #[default]
8 Normal,
9 Verbose,
10 Debug,
11}
12
13impl Verbosity {
14 /// Derive verbosity from CLI flag combination.
15 /// `--quiet` overrides `--verbose`; `--debug` overrides everything.
16 pub fn from_flags(quiet: bool, verbose: bool, debug: bool) -> Self {
17 if debug {
18 Verbosity::Debug
19 } else if quiet {
20 Verbosity::Quiet
21 } else if verbose {
22 Verbosity::Verbose
23 } else {
24 Verbosity::Normal
25 }
26 }
27}