diff --git a/lib/crates/fabro-cli/src/command_context.rs b/lib/crates/fabro-cli/src/command_context.rs index 14503abd8..29e260063 100644 --- a/lib/crates/fabro-cli/src/command_context.rs +++ b/lib/crates/fabro-cli/src/command_context.rs @@ -5,7 +5,7 @@ use anyhow::{Context as _, Result, bail}; use fabro_config::UserSettings; use fabro_config::merge::combine_files; use fabro_types::settings::SettingsLayer; -use fabro_types::settings::cli::{CliLayer, OutputFormat}; +use fabro_types::settings::cli::{CliLayer, OutputFormat, OutputVerbosity}; use fabro_util::printer::Printer; use tokio::sync::OnceCell; @@ -100,6 +100,10 @@ impl CommandContext { self.user_settings.cli.output.format == OutputFormat::Json } + pub(crate) fn verbose(&self) -> bool { + self.user_settings.cli.output.verbosity == OutputVerbosity::Verbose + } + pub(crate) async fn server(&self) -> Result> { let server_mode = self.server_mode.clone(); let base_config_path = self.base_config_path.clone(); diff --git a/lib/crates/fabro-cli/src/commands/doctor.rs b/lib/crates/fabro-cli/src/commands/doctor.rs index 052ed191c..2ba2b813d 100644 --- a/lib/crates/fabro-cli/src/commands/doctor.rs +++ b/lib/crates/fabro-cli/src/commands/doctor.rs @@ -3,7 +3,6 @@ use std::path::PathBuf; use anyhow::Result; use fabro_api::types as api_types; use fabro_config::user::active_settings_path; -use fabro_types::settings::cli::OutputVerbosity; pub(crate) use fabro_util::check_report::{ CheckDetail, CheckReport, CheckResult, CheckSection, CheckStatus, }; @@ -143,8 +142,7 @@ pub(crate) async fn run_doctor( args: &DoctorArgs, base_ctx: &CommandContext, ) -> Result { - let verbose = - args.verbose || base_ctx.user_settings().cli.output.verbosity == OutputVerbosity::Verbose; + let verbose = args.verbose || base_ctx.verbose(); let printer = base_ctx.printer(); let styles = Styles::detect_stdout(); let json = base_ctx.json_output(); diff --git a/lib/crates/fabro-cli/src/commands/preflight.rs b/lib/crates/fabro-cli/src/commands/preflight.rs index 46144d8da..5f98e0179 100644 --- a/lib/crates/fabro-cli/src/commands/preflight.rs +++ b/lib/crates/fabro-cli/src/commands/preflight.rs @@ -1,7 +1,6 @@ use anyhow::bail; use fabro_config::load::load_settings_user; use fabro_config::user::active_settings_path; -use fabro_types::settings::cli::OutputVerbosity; use fabro_util::terminal::Styles; use crate::args::PreflightArgs; @@ -20,8 +19,7 @@ pub(crate) async fn execute( let styles: &'static Styles = Box::leak(Box::new(Styles::detect_stderr())); let printer = base_ctx.printer(); let ctx = base_ctx.with_target(&args.target)?; - args.verbose = - args.verbose || ctx.user_settings().cli.output.verbosity == OutputVerbosity::Verbose; + args.verbose = args.verbose || ctx.verbose(); let manifest = build_run_manifest(ManifestBuildInput { workflow: args.workflow.clone(), diff --git a/lib/crates/fabro-cli/src/commands/run/command.rs b/lib/crates/fabro-cli/src/commands/run/command.rs index 90386bc3b..f824e4408 100644 --- a/lib/crates/fabro-cli/src/commands/run/command.rs +++ b/lib/crates/fabro-cli/src/commands/run/command.rs @@ -1,5 +1,4 @@ use anyhow::Result; -use fabro_types::settings::cli::OutputVerbosity; use fabro_util::terminal::Styles; use crate::args::RunArgs; @@ -10,8 +9,7 @@ pub(crate) async fn execute(mut args: RunArgs, base_ctx: &CommandContext) -> Res let styles: &'static Styles = Box::leak(Box::new(Styles::detect_stderr())); let printer = base_ctx.printer(); let ctx = base_ctx.with_target(&args.target)?; - args.verbose = - args.verbose || ctx.user_settings().cli.output.verbosity == OutputVerbosity::Verbose; + args.verbose = args.verbose || ctx.verbose(); let quiet = args.detach; let prevent_idle_sleep = ctx.user_settings().cli.exec.prevent_idle_sleep; @@ -49,7 +47,7 @@ pub(crate) async fn execute(mut args: RunArgs, base_ctx: &CommandContext) -> Res true, styles, json, - ctx.user_settings().cli.output.verbosity == OutputVerbosity::Verbose, + ctx.verbose(), printer, )) .await?; diff --git a/lib/crates/fabro-cli/src/commands/run/mod.rs b/lib/crates/fabro-cli/src/commands/run/mod.rs index 979b95528..a8d44ed9f 100644 --- a/lib/crates/fabro-cli/src/commands/run/mod.rs +++ b/lib/crates/fabro-cli/src/commands/run/mod.rs @@ -1,5 +1,4 @@ use anyhow::Result; -use fabro_types::settings::cli::OutputVerbosity; use fabro_util::terminal::Styles; use crate::args::{AttachArgs, RunCommands, RunWorkerArgs, StartArgs}; @@ -62,7 +61,7 @@ pub(crate) async fn dispatch(cmd: RunCommands, base_ctx: &CommandContext) -> Res false, styles, json, - ctx.user_settings().cli.output.verbosity == OutputVerbosity::Verbose, + ctx.verbose(), printer, )) .await?; diff --git a/lib/crates/fabro-cli/src/commands/run/resume.rs b/lib/crates/fabro-cli/src/commands/run/resume.rs index 18afc4e3f..22db1bc5d 100644 --- a/lib/crates/fabro-cli/src/commands/run/resume.rs +++ b/lib/crates/fabro-cli/src/commands/run/resume.rs @@ -1,4 +1,3 @@ -use fabro_types::settings::cli::OutputVerbosity; use fabro_util::terminal::Styles; use crate::args::ResumeArgs; @@ -36,7 +35,7 @@ pub(crate) async fn resume_command( true, styles, json, - ctx.user_settings().cli.output.verbosity == OutputVerbosity::Verbose, + ctx.verbose(), printer, )) .await?;