use clap::{Parser, Subcommand};
use std::path::PathBuf;
#[derive(Parser, Debug)]
#[command(name = "xd", version = "0.4.0", about = "A simple dotfile manager")]
pub struct Cli {
#[command(subcommand)]
pub command: Option<Command>,
#[arg(short, long, global = true)]
pub verbose: bool,
#[arg(short, long, global = true)]
pub quiet: bool,
#[arg(short = 'n', long, global = true)]
pub dry_run: bool,
#[arg(short, long, global = true)]
pub interactive: bool,
#[arg(short, long, global = true)]
pub force: bool,
#[arg(long, global = true)]
pub check_permissions: bool,
#[arg(long, global = true)]
pub fix_permissions: bool,
#[arg(long, global = true)]
pub no_validate: bool,
}
#[derive(Subcommand, Debug)]
pub enum Command {
Deploy,
Undeploy,
Status,
Validate {
files: Vec<PathBuf>,
},
New,
Completion {
shell: String,
},
Version,
}