diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-08-10 16:08:51 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-08-10 16:08:51 +0800 |
| commit | ae2885c32f32d19c1becce0118ce51052b55f4a7 (patch) | |
| tree | 477213aafd2b927544d2fa3b875f1f1415926104 /mingling | |
| parent | eebcdf6b163174ec1629d121264c0477652e3323 (diff) | |
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.
Diffstat (limited to 'mingling')
| -rw-r--r-- | mingling/src/setups/basic.rs | 13 | ||||
| -rw-r--r-- | mingling/src/setups/picker/basic.rs | 20 |
2 files changed, 22 insertions, 11 deletions
diff --git a/mingling/src/setups/basic.rs b/mingling/src/setups/basic.rs index c8f8ad8..5ed9d7a 100644 --- a/mingling/src/setups/basic.rs +++ b/mingling/src/setups/basic.rs @@ -1,6 +1,9 @@ #![allow(deprecated)] -use mingling_core::{Flag, Program, ProgramCollect, setup::ProgramSetup}; +use mingling_core::{ + ConfirmationMode, Flag, InteractionMode, Program, ProgramCollect, YesAssumption, + setup::ProgramSetup, +}; /// Performs basic program initialization: /// @@ -91,8 +94,8 @@ where { fn setup(self, program: &mut Program<C>) { program.global_flag(self.flag, |p| { - p.stdout_setting.render_output = false; - p.stdout_setting.error_output = false; + p.stdout_setting.render_output = mingling_core::RenderOutput::Hide; + p.stdout_setting.error_output = mingling_core::ErrorOutput::Hide; }); } } @@ -131,7 +134,9 @@ where { fn setup(self, program: &mut Program<C>) { program.global_flag(self.flag, |p| { - p.user_context.confirm = true; + p.user_context.confirmation = ConfirmationMode::Skip; + p.user_context.interaction = InteractionMode::NonInteractive; + p.user_context.yes_assumption = YesAssumption::AssumeYes; }); } } 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<Enum = C>, { fn setup(self, program: &mut Program<C>) { - 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<Enum = C>, { fn setup(self, program: &mut Program<C>) { - 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; } } } |
