use clap::{Parser, Subcommand};
use std::path::PathBuf;
#[derive(Parser)]
#[command(author, version, about, long_about = None)]
pub struct Cli {
#[arg(short, long, action = clap::ArgAction::Count)]
pub verbose: u8,
#[arg(short, long)]
pub delimiter: Option<String>,
#[command(subcommand)]
pub command: Option<Commands>,
}
#[derive(Subcommand)]
pub enum Commands {
Inspect {
#[arg(value_name = "INPUT_PATHS")]
input_paths: Vec<PathBuf>,
},
Import {
#[arg(value_name = "INPUT_PATHS")]
input_paths: Vec<PathBuf>,
#[arg(long, value_name = "FORMAT")]
format: Option<String>,
},
Export {
#[arg(value_name = "INPUT_PATHS")]
input_paths: Vec<PathBuf>,
#[arg(long, value_name = "FORMAT", default_value = "json")]
format: String,
},
}
pub fn get_cli() -> Cli {
Cli::parse()
}