use clap::{Args, ValueEnum};
#[derive(Debug, Args)]
pub(crate) struct CompletionsArgs {
/// Shell to generate completions for.
#[arg(value_enum)]
pub shell: CompletionShell,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, ValueEnum)]
pub(crate) enum CompletionShell {
Bash,
Zsh,
Fish,
}
impl From<CompletionShell> for clap_complete::Shell {
fn from(shell: CompletionShell) -> Self {
match shell {
CompletionShell::Bash => Self::Bash,
CompletionShell::Zsh => Self::Zsh,
CompletionShell::Fish => Self::Fish,
}
}
}