aboutsummaryrefslogtreecommitdiff
path: root/mingling_core/src/program/setup
diff options
context:
space:
mode:
Diffstat (limited to 'mingling_core/src/program/setup')
-rw-r--r--mingling_core/src/program/setup/basic.rs31
-rw-r--r--mingling_core/src/program/setup/exit_code_control.rs35
-rw-r--r--mingling_core/src/program/setup/general_renderer.rs57
3 files changed, 0 insertions, 123 deletions
diff --git a/mingling_core/src/program/setup/basic.rs b/mingling_core/src/program/setup/basic.rs
deleted file mode 100644
index 9bd4056..0000000
--- a/mingling_core/src/program/setup/basic.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-use crate::{
- ProgramCollect,
- 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<C> ProgramSetup<C> for BasicProgramSetup
-where
- C: ProgramCollect<Enum = C>,
-{
- fn setup(&mut self, program: &mut Program<C>) {
- 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;
- });
- }
-}
diff --git a/mingling_core/src/program/setup/exit_code_control.rs b/mingling_core/src/program/setup/exit_code_control.rs
deleted file mode 100644
index 20cd9b2..0000000
--- a/mingling_core/src/program/setup/exit_code_control.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-use std::sync::atomic::{AtomicI32, Ordering};
-
-use crate::{ProgramCollect, hook::ProgramAnonymousHook, setup::ProgramSetup};
-
-static EXIT_CODE: AtomicI32 = AtomicI32::new(0);
-
-/// Provides the ability to control the program's exit code, which is returned when the program ends.
-///
-/// - Use `mingling::update_exit_code` to update the exit code.
-/// - Use `mingling::current_exit_code` to query the current exit code.
-pub struct ExitCodeSetup;
-
-impl<C> ProgramSetup<C> for ExitCodeSetup
-where
- C: ProgramCollect<Enum = C>,
-{
- fn setup(&mut self, program: &mut crate::Program<C>) {
- program.with_hook_anonymous(ProgramAnonymousHook::empty().on_finish(current_exit_code));
- }
-}
-
-/// Updates the program's exit code.
-///
-/// This function sets the value that will be returned when the program exits.
-/// The new code will take effect immediately and be used when the program finishes.
-pub fn update_exit_code(code: i32) {
- EXIT_CODE.store(code, Ordering::SeqCst);
-}
-
-/// Returns the current exit code.
-///
-/// This function queries the value that will be returned when the program exits.
-pub fn current_exit_code() -> i32 {
- EXIT_CODE.load(Ordering::SeqCst)
-}
diff --git a/mingling_core/src/program/setup/general_renderer.rs b/mingling_core/src/program/setup/general_renderer.rs
deleted file mode 100644
index d2666da..0000000
--- a/mingling_core/src/program/setup/general_renderer.rs
+++ /dev/null
@@ -1,57 +0,0 @@
-use crate::{
- ProgramCollect,
- program::{Program, setup::ProgramSetup},
-};
-
-/// Sets up the general renderer for the program:
-///
-/// - Adds a `--renderer` global argument to specify the renderer type
-pub struct GeneralRendererSimpleSetup;
-
-impl<C> ProgramSetup<C> for GeneralRendererSimpleSetup
-where
- C: ProgramCollect<Enum = C>,
-{
- fn setup(&mut self, program: &mut Program<C>) {
- program.global_argument("--renderer", |p, renderer| {
- p.general_renderer_name = renderer.into();
- });
- }
-}
-
-/// Sets up the general renderer for the program:
-///
-/// - Adds global flags to specify the renderer type:
-/// * `--json` for JSON output
-/// * `--json-pretty` for pretty-printed JSON output
-/// * `--yaml` for YAML output
-/// * `--toml` for TOML output
-/// * `--ron` for RON output
-/// * `--ron-pretty` for pretty-printed RON output
-pub struct GeneralRendererSetup;
-
-impl<C> ProgramSetup<C> for GeneralRendererSetup
-where
- C: ProgramCollect<Enum = C>,
-{
- fn setup(&mut self, program: &mut Program<C>) {
- program.global_flag("--json", |p| {
- p.general_renderer_name = crate::GeneralRendererSetting::Json
- });
- program.global_flag("--json-pretty", |p| {
- p.general_renderer_name = crate::GeneralRendererSetting::JsonPretty;
- });
- program.global_flag("--yaml", |p| {
- p.general_renderer_name = crate::GeneralRendererSetting::Yaml;
- });
- program.global_flag("--toml", |p| {
- p.general_renderer_name = crate::GeneralRendererSetting::Toml;
- });
- program.global_flag("--ron", |p| {
- p.general_renderer_name = crate::GeneralRendererSetting::Ron;
- });
- program.global_flag("--ron-pretty", |p| {
- p.general_renderer_name = crate::GeneralRendererSetting::RonPretty;
- });
- }
-}