ahab/src/cli/ahab.rs

45 lines
949 B
Rust

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,
},
}