pub fn resolve(config_theme: &str, minimal: bool) -> ThemeExpand description
Resolve the active theme from config, CLI, and environment.
Priority order:
minimal=true→ alwaysMonochromeNO_COLORenv var set →Monochrome- Valid
config_theme→ the matchingTheme - Invalid
config_theme→Dark(default)
§Example
use netspeed_cli::theme::{Theme, resolve};
// minimal=true always forces Monochrome (deterministic)
assert_eq!(resolve("dark", true), Theme::Monochrome);
assert_eq!(resolve("light", true), Theme::Monochrome);
assert_eq!(resolve("high-contrast", true), Theme::Monochrome);ⓘ
// These depend on NO_COLOR not being set in the environment:
assert_eq!(resolve("dark", false), Theme::Dark);
assert_eq!(resolve("light", false), Theme::Light);
assert_eq!(resolve("high-contrast", false), Theme::HighContrast);
assert_eq!(resolve("monochrome", false), Theme::Monochrome);
// Invalid theme falls back to Dark (the default)
assert_eq!(resolve("invalid", false), Theme::Dark);