From 6ccc2fdcf2ebee67ba67a480e2e83478dbda7460 Mon Sep 17 00:00:00 2001 From: hlhr202 Date: Wed, 17 Apr 2024 16:26:08 +0800 Subject: [PATCH] fix: cli completion binary name --- crates/openconnect-cli/src/cli.rs | 12 +++++++++--- crates/openconnect-cli/src/main.rs | 7 +++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/crates/openconnect-cli/src/cli.rs b/crates/openconnect-cli/src/cli.rs index 54ed136..164244d 100644 --- a/crates/openconnect-cli/src/cli.rs +++ b/crates/openconnect-cli/src/cli.rs @@ -62,7 +62,13 @@ pub enum Commands { Logs, #[command(about = "Generate shell completion script")] - GenComplete { generator: Shell }, + GenComplete { + generator: Shell, + + /// The CLI binary name, default to 'openconnect', must be the same as the binary name used to run the CLI + #[arg(short = 'n', long, default_value = "openconnect")] + binary_name: Option, + }, } #[derive(Subcommand, Debug)] @@ -116,14 +122,14 @@ pub enum SeverConfigArgs { }, } -pub fn print_completions(generator: Shell) { +pub fn print_completions(generator: Shell, binary_name: Option) { let mut cmd = Cli::command(); let cmd = &mut cmd; generate( generator, cmd, - cmd.get_name().to_string(), + binary_name.unwrap_or(cmd.get_name().to_string()), &mut std::io::stdout(), ); } diff --git a/crates/openconnect-cli/src/main.rs b/crates/openconnect-cli/src/main.rs index 225e86d..af4cdc5 100644 --- a/crates/openconnect-cli/src/main.rs +++ b/crates/openconnect-cli/src/main.rs @@ -44,8 +44,11 @@ fn main() { let cli = Cli::parse(); match cli.command { - Commands::GenComplete { generator } => { - crate::cli::print_completions(generator); + Commands::GenComplete { + generator, + binary_name, + } => { + crate::cli::print_completions(generator, binary_name); } Commands::Add(server_config) => { crate::client::config::request_add_server(server_config);