From d0a27fc7828aee5ca7d4c56a9c9f9f5b08878fbf Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Wed, 21 May 2025 13:16:25 +0100 Subject: feat: add --customize flag for instructions of how to customise ngit via git config items --- src/bin/ngit/main.rs | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) (limited to 'src/bin/ngit/main.rs') diff --git a/src/bin/ngit/main.rs b/src/bin/ngit/main.rs index a6e3e11..f896e97 100644 --- a/src/bin/ngit/main.rs +++ b/src/bin/ngit/main.rs @@ -4,7 +4,7 @@ use anyhow::Result; use clap::Parser; -use cli::{AccountCommands, Cli, Commands}; +use cli::{AccountCommands, CUSTOMISE_TEMPLATE, Cli, Commands}; mod cli; use ngit::{cli_interactor, client, git, git_events, login, repo_ref}; @@ -14,14 +14,28 @@ mod sub_commands; #[tokio::main] async fn main() -> Result<()> { let cli = Cli::parse(); - match &cli.command { - Commands::Account(args) => match &args.account_command { - AccountCommands::Login(sub_args) => sub_commands::login::launch(&cli, sub_args).await, - AccountCommands::Logout => sub_commands::logout::launch().await, - AccountCommands::ExportKeys => sub_commands::export_keys::launch().await, - }, - Commands::Init(args) => sub_commands::init::launch(&cli, args).await, - Commands::List => sub_commands::list::launch().await, - Commands::Send(args) => sub_commands::send::launch(&cli, args, false).await, + + if cli.customize { + print!("{CUSTOMISE_TEMPLATE}"); + std::process::exit(0); // Exit the program + } + + if let Some(command) = &cli.command { + match command { + Commands::Account(args) => match &args.account_command { + AccountCommands::Login(sub_args) => { + sub_commands::login::launch(&cli, sub_args).await + } + AccountCommands::Logout => sub_commands::logout::launch().await, + AccountCommands::ExportKeys => sub_commands::export_keys::launch().await, + }, + Commands::Init(args) => sub_commands::init::launch(&cli, args).await, + Commands::List => sub_commands::list::launch().await, + Commands::Send(args) => sub_commands::send::launch(&cli, args, false).await, + } + } else { + // Handle the case where no command is provided + eprintln!("Error: A command must be provided. Use '--help' for more information."); + std::process::exit(1); } } -- cgit v1.2.3