use clap::{Parser, Subcommand};
use file_kitty::encoding::scan_directory;
#[derive(Parser)]
#[command(
author,
version,
about = "A versatile file manipulation toolkit",
long_about = None
)]
struct Cli {
#[command(subcommand)]
command: Commands,
}
#[derive(Subcommand)]
enum Commands {
Encoding {
#[arg(short, long)]
path: String,
#[arg(short, long)]
convert: bool,
#[arg(short, long)]
verbose: bool,
#[arg(short, long, value_delimiter = ',')]
types: Option<Vec<String>>,
},
}
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let cli = Cli::parse();
match cli.command {
Commands::Encoding { path, convert, verbose, types } => {
scan_directory(&path, convert, verbose, types).await?;
}
}
Ok(())
}