From 7ce68cd11516bd7cf037ecea99a92aee7c31b2c3 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sat, 28 Mar 2026 00:47:46 +0800 Subject: Add initial Mingling framework codebase --- mingling/src/program/setup/basic.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 mingling/src/program/setup/basic.rs (limited to 'mingling/src/program/setup/basic.rs') diff --git a/mingling/src/program/setup/basic.rs b/mingling/src/program/setup/basic.rs new file mode 100644 index 0000000..0ea72a6 --- /dev/null +++ b/mingling/src/program/setup/basic.rs @@ -0,0 +1,25 @@ +use crate::program::{Program, setup::ProgramSetup}; + +/// Performs basic program initialization: +/// +/// - Collects `--quiet` flag to control message rendering +/// - Collects `--help` flag to enable help mode +/// - Collects `--confirm` flag to skip user confirmation +pub struct BasicProgramSetup; + +impl ProgramSetup for BasicProgramSetup { + fn setup(program: &mut Program) { + program.global_flag(["--quiet", "-q"], |p| { + p.stdout_setting.render_output = false; + p.stdout_setting.error_output = false; + }); + + program.global_flag(["--help", "-h"], |p| { + p.user_context.help = true; + }); + + program.global_flag(["--confirm", "-C"], |p| { + p.user_context.confirm = true; + }); + } +} -- cgit