1#![allow(missing_docs)]
2use clap::{CommandFactory, Parser};
3use clap_complete::{Shell, generate};
4use std::io;
5
6use crate::cli::Opts as RootCli;
7
8#[derive(Parser, Debug, Clone)]
9#[command(rename_all = "kebab-case")]
10pub struct Opts {
11 #[clap(value_enum)]
13 shell: Shell,
14}
15
16pub fn cmd(opts: &Opts) -> exitcode::ExitCode {
17 let mut cmd = RootCli::command();
18 let bin_name = cmd.get_name().to_string();
19
20 generate(opts.shell, &mut cmd, bin_name, &mut io::stdout());
21
22 exitcode::OK
23}