From ae2885c32f32d19c1becce0118ce51052b55f4a7 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Mon, 10 Aug 2026 16:08:51 +0800 Subject: refactor: replace boolean settings with mode enums Update stdout and error output settings to use explicit `RenderOutput` and `ErrorOutput` enums, and replace the `confirm` boolean with distinct `ConfirmationMode`, `InteractionMode`, and `YesAssumption` fields for clearer control flow. --- mingling/src/setups/picker/basic.rs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'mingling/src/setups/picker/basic.rs') diff --git a/mingling/src/setups/picker/basic.rs b/mingling/src/setups/picker/basic.rs index 52bda3d..7f70eab 100644 --- a/mingling/src/setups/picker/basic.rs +++ b/mingling/src/setups/picker/basic.rs @@ -1,5 +1,8 @@ use arg_picker::{PickerArg, value::Flag}; -use mingling_core::{Program, ProgramCollect, setup::ProgramSetup}; +use mingling_core::{ + ConfirmationMode, ErrorOutput, InteractionMode, Program, ProgramCollect, RenderOutput, + YesAssumption, setup::ProgramSetup, +}; use crate::{ consts::{CONFIRM_FLAG, HELP_FLAG, QUIET_FLAG}, @@ -75,9 +78,10 @@ where C: ProgramCollect, { fn setup(self, program: &mut Program) { - let help = program.pick_flag(self.flag); - if help { - program.stdout_setting.quiet = true; + let quiet = program.pick_flag(self.flag); + if quiet { + program.stdout_setting.render_output = RenderOutput::Hide; + program.stdout_setting.error_output = ErrorOutput::Hide; } } } @@ -107,9 +111,11 @@ where C: ProgramCollect, { fn setup(self, program: &mut Program) { - let help = program.pick_flag(self.flag); - if help { - program.user_context.confirm = true; + let confirm = program.pick_flag(self.flag); + if confirm { + program.user_context.confirmation = ConfirmationMode::Skip; + program.user_context.interaction = InteractionMode::NonInteractive; + program.user_context.yes_assumption = YesAssumption::AssumeYes; } } } -- cgit