Skip to content

Commit 054ef87

Browse files
committed
Cli: Derive Default
So that we can instantiate Cli to a safe default with everything disabled. Signed-off-by: Daniel Schaefer <[email protected]>
1 parent f6fc502 commit 054ef87

File tree

3 files changed

+22
-13
lines changed

3 files changed

+22
-13
lines changed

framework_lib/src/commandline/clap_std.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use clap_num::maybe_hex;
99
use crate::chromium_ec::commands::SetGpuSerialMagic;
1010
use crate::chromium_ec::CrosEcDriverType;
1111
use crate::commandline::{
12-
Cli, ConsoleArg, FpBrightnessArg, HardwareDeviceType, InputDeckModeArg, RebootEcArg,
12+
Cli, ConsoleArg, FpBrightnessArg, HardwareDeviceType, InputDeckModeArg, LogLevel, RebootEcArg,
1313
TabletModeArg,
1414
};
1515

@@ -353,7 +353,7 @@ pub fn parse(args: &[String]) -> Cli {
353353
};
354354

355355
Cli {
356-
verbosity: args.verbosity.log_level_filter(),
356+
verbosity: LogLevel(args.verbosity.log_level_filter()),
357357
versions: args.versions,
358358
version: args.version,
359359
features: args.features,

framework_lib/src/commandline/mod.rs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,22 @@ impl From<InputDeckModeArg> for DeckStateMode {
134134
}
135135
}
136136

137+
#[derive(Debug)]
138+
pub struct LogLevel(log::LevelFilter);
139+
140+
impl Default for LogLevel {
141+
fn default() -> Self {
142+
LogLevel(log::LevelFilter::Error)
143+
}
144+
}
145+
137146
/// Shadows `clap_std::ClapCli` with extras for UEFI
138147
///
139148
/// The UEFI commandline currently doesn't use clap, so we need to shadow the struct.
140149
/// Also it has extra options.
141-
#[derive(Debug)]
150+
#[derive(Debug, Default)]
142151
pub struct Cli {
143-
pub verbosity: log::LevelFilter,
152+
pub verbosity: LogLevel,
144153
pub versions: bool,
145154
pub version: bool,
146155
pub features: bool,
@@ -754,7 +763,7 @@ fn compare_version(device: Option<HardwareDeviceType>, version: String, ec: &Cro
754763
pub fn run_with_args(args: &Cli, _allupdate: bool) -> i32 {
755764
#[cfg(feature = "uefi")]
756765
{
757-
log::set_max_level(args.verbosity);
766+
log::set_max_level(args.verbosity.0);
758767
}
759768
#[cfg(not(feature = "uefi"))]
760769
{
@@ -763,7 +772,7 @@ pub fn run_with_args(args: &Cli, _allupdate: bool) -> i32 {
763772
// .filter("FRAMEWORK_COMPUTER_LOG")
764773
// .write_style("FRAMEWORK_COMPUTER_LOG_STYLE");
765774

766-
let level = args.verbosity.as_str();
775+
let level = args.verbosity.0.as_str();
767776
env_logger::Builder::from_env(env_logger::Env::default().default_filter_or(level))
768777
.format_target(false)
769778
.format_timestamp(None)

framework_lib/src/commandline/uefi.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use uefi::Identify;
1111

1212
use crate::chromium_ec::commands::SetGpuSerialMagic;
1313
use crate::chromium_ec::{CrosEcDriverType, HardwareDeviceType};
14-
use crate::commandline::Cli;
14+
use crate::commandline::{Cli, LogLevel};
1515

1616
use super::{ConsoleArg, FpBrightnessArg, InputDeckModeArg, RebootEcArg, TabletModeArg};
1717

@@ -54,7 +54,7 @@ pub fn get_args(boot_services: &BootServices) -> Vec<String> {
5454

5555
pub fn parse(args: &[String]) -> Cli {
5656
let mut cli = Cli {
57-
verbosity: log::LevelFilter::Error,
57+
verbosity: LogLevel(log::LevelFilter::Error),
5858
paginate: false,
5959
versions: false,
6060
version: false,
@@ -124,15 +124,15 @@ pub fn parse(args: &[String]) -> Cli {
124124

125125
for (i, arg) in args.iter().enumerate() {
126126
if arg == "-q" {
127-
cli.verbosity = log::LevelFilter::Off;
127+
cli.verbosity = LogLevel(log::LevelFilter::Off);
128128
} else if arg == "-v" {
129-
cli.verbosity = log::LevelFilter::Warn;
129+
cli.verbosity = LogLevel(log::LevelFilter::Warn);
130130
} else if arg == "-vv" {
131-
cli.verbosity = log::LevelFilter::Info;
131+
cli.verbosity = LogLevel(log::LevelFilter::Info);
132132
} else if arg == "-vvv" {
133-
cli.verbosity = log::LevelFilter::Debug;
133+
cli.verbosity = LogLevel(log::LevelFilter::Debug);
134134
} else if arg == "-vvvv" {
135-
cli.verbosity = log::LevelFilter::Trace;
135+
cli.verbosity = LogLevel(log::LevelFilter::Trace);
136136
} else if arg == "--versions" {
137137
cli.versions = true;
138138
found_an_option = true;

0 commit comments

Comments
 (0)