use clap::{Args, Parser, Subcommand, ValueEnum};
#[derive(Debug, Clone, Parser)]
#[command(version, about)]
pub struct Direnv {
#[command(subcommand)]
pub command: DirenvCommands,
}
#[derive(Debug, Clone, Subcommand)]
pub enum DirenvCommands {
Hook(DirenvShellHookArgs),
Export(DirenvShellExportArgs),
}
#[derive(Debug, Clone, Args)]
pub struct DirenvShellHookArgs {
pub shell: DirenvShell,
}
#[derive(Debug, Clone, Args)]
pub struct DirenvShellExportArgs {
pub shell: DirenvShell,
}
#[derive(Debug, Clone, Copy, ValueEnum)]
pub enum DirenvShell {
Bash,
Fish,
Json,
Zsh,
}