aa-cli 0.0.1-alpha.8

aasm — command-line tool for Agent Assembly
//! `aasm completion` — generate shell completion scripts.

use std::process::ExitCode;

use clap::{Args, CommandFactory};
use clap_complete::{generate, Shell};

/// Arguments for `aasm completion`.
#[derive(Args)]
pub struct CompletionArgs {
    /// Shell to generate completions for.
    pub shell: Shell,
}

/// Generate shell completion script and write to stdout.
pub fn run(args: CompletionArgs) -> ExitCode {
    let mut cmd = crate::Cli::command();
    generate(args.shell, &mut cmd, "aasm", &mut std::io::stdout());
    ExitCode::SUCCESS
}