use super::{Django, Docker, DockerCompose, Postgres}; use clap::{Parser, Subcommand}; use clap_complete::Shell; /// A program for interacting with various dockerized applications. #[derive(Parser, Debug)] #[command(author, version, about, long_about=None)] pub struct Ahab { #[command(subcommand)] pub command: Commands, } #[derive(Debug, Subcommand)] pub enum Commands { /// Generate completion files Completion { #[arg(value_enum)] shell: Shell, }, /// Docker related subcommands D { #[command(subcommand)] command: Docker, }, /// Docker compose related subcommands Dc { #[command(subcommand)] command: DockerCompose, }, /// Docker compose related subcommands Dj { #[command(subcommand)] command: Django, }, /// Postgres related subcommands Pg { #[command(subcommand)] command: Postgres, }, }