use crate::cli::parser::{Cli, CompletionArgs};
use crate::commands::CommandContext;
use crate::commands::base::Command;
use clap::CommandFactory;
pub struct CompletionCommand {
args: CompletionArgs,
}
impl CompletionCommand {
pub fn new(args: CompletionArgs) -> Self {
Self { args }
}
}
impl Command for CompletionCommand {
fn execute(&self, ctx: &mut CommandContext) -> anyhow::Result<()> {
self.args.shell.generate(&mut Cli::command(), ctx.writer.as_mut());
Ok(())
}
fn name(&self) -> &'static str {
"completion"
}
}