From 22733f51e079c8c2926c5856760668d5571f2c9b Mon Sep 17 00:00:00 2001 From: J / Jacob Babich Date: Tue, 15 Oct 2024 16:15:33 -0400 Subject: [PATCH] chore: build out the infrastructure for commands to be passed to the clap CLI --- cli-clap/src/lib.rs | 13 ++++++++++++- cli-clap/src/main.rs | 6 +++++- multibinary/src/main.rs | 4 ++-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/cli-clap/src/lib.rs b/cli-clap/src/lib.rs index 8f68520..86cc765 100644 --- a/cli-clap/src/lib.rs +++ b/cli-clap/src/lib.rs @@ -1,4 +1,15 @@ -pub fn main() { +use clap::{Parser, Subcommand}; + +#[derive(Debug, Subcommand)] +enum Command {} + +#[derive(Debug, Parser)] +pub struct Args { + #[command(subcommand)] + command: Command, +} + +pub fn main(args: Args) { #[cfg(feature = "tracing")] tracing::info!("What's up, world?"); } diff --git a/cli-clap/src/main.rs b/cli-clap/src/main.rs index d1fa864..756ebd8 100644 --- a/cli-clap/src/main.rs +++ b/cli-clap/src/main.rs @@ -1,3 +1,7 @@ +use clap::Parser; + fn main() { - ac_qu_ai_nt_cli_clap::main(); + let args = ac_qu_ai_nt_cli_clap::Args::parse(); + + ac_qu_ai_nt_cli_clap::main(args); } diff --git a/multibinary/src/main.rs b/multibinary/src/main.rs index 3b61153..ddc5c9f 100644 --- a/multibinary/src/main.rs +++ b/multibinary/src/main.rs @@ -19,7 +19,7 @@ struct Args { enum Command { #[cfg(feature = "cli-clap")] #[command(alias = "cli")] - CliClap, + CliClap(ac_qu_ai_nt_cli_clap::Args), #[cfg(feature = "gui-eframe")] #[command(alias = "gui")] GuiEframe, @@ -57,7 +57,7 @@ fn main() { match command { #[cfg(feature = "cli-clap")] - Command::CliClap => ac_qu_ai_nt_cli_clap::main(), + Command::CliClap(args) => ac_qu_ai_nt_cli_clap::main(args), #[cfg(feature = "gui-eframe")] Command::GuiEframe => ac_qu_ai_nt_gui_eframe::main(), #[cfg(feature = "tui-ratatui")]