use std::path::PathBuf;
use clap::Parser;
mod commands;
mod parse;
mod types;
pub(crate) use commands::Commands;
pub(crate) use types::{ConfigFormat, GenerateCommands, OutputFormat, RmiScope};
#[derive(Parser)]
#[command(name = "podup", version)]
pub(crate) struct Cli {
#[arg(short, long)]
pub(crate) file: Vec<PathBuf>,
#[arg(short, long, env = "COMPOSE_PROJECT_NAME")]
pub(crate) project: Option<String>,
#[arg(long, env = "PODMAN_SOCKET")]
pub(crate) socket: Option<String>,
#[arg(long, value_delimiter = ',', env = "COMPOSE_PROFILES", global = true)]
pub(crate) profile: Vec<String>,
#[arg(long, global = true)]
pub(crate) project_directory: Option<PathBuf>,
#[arg(long = "env-file", global = true)]
pub(crate) env_file: Vec<String>,
#[command(subcommand)]
pub(crate) command: Commands,
}