use clap::{Parser, Subcommand};
use std::path::PathBuf;
#[derive(Parser, Debug)]
#[command(name = "rustdrivesync")]
#[command(author, version, about, long_about = None)]
pub struct Cli {
#[arg(short, long, default_value = "config.toml")]
pub config: PathBuf,
#[arg(short, long)]
pub verbose: bool,
#[arg(short, long)]
pub quiet: bool,
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand, Debug)]
pub enum Commands {
Sync {
#[arg(long)]
once: bool,
#[arg(long)]
watch: bool,
#[arg(long)]
dry_run: bool,
},
Auth {
#[arg(long)]
revoke: bool,
#[arg(long)]
status: bool,
},
Config {
#[arg(long)]
init: bool,
#[arg(long)]
validate: bool,
#[arg(long)]
show: bool,
},
Status,
List {
#[arg(long)]
remote: bool,
#[arg(long)]
diff: bool,
},
}