use clap::{Parser, Subcommand};
use std::path::PathBuf;
#[derive(Parser)]
#[command(
name = "vcf-cribador",
version,
about = "Criba, normaliza y clasifica contactos VCF vCard 4.0/3.0 (Proton, Google, Apple)"
)]
pub struct Cli {
#[command(subcommand)]
pub command: Command,
}
#[derive(Subcommand)]
pub enum Command {
Cribar {
input: PathBuf,
#[arg(short = 'o', long)]
output: Option<PathBuf>,
#[arg(short = 'a', long)]
audit: Option<PathBuf>,
#[arg(short = 'c', long)]
config: Option<PathBuf>,
#[arg(short = 's', long, default_value = "auto")]
source: String,
#[arg(long)]
dry_run: bool,
},
Audit {
input: PathBuf,
#[arg(short = 'o', long)]
output: Option<PathBuf>,
#[arg(short = 'c', long)]
config: Option<PathBuf>,
},
Stats {
input: PathBuf,
#[arg(short = 'f', long, default_value = "text")]
format: String,
},
Export {
input: PathBuf,
#[arg(short = 'o', long)]
output: PathBuf,
#[arg(short = 'f', long, default_value = "csv")]
format: String,
},
Completions {
#[arg(value_enum)]
shell: clap_complete::Shell,
},
}