use clap::Parser;
#[derive(Parser)]
#[clap(
author,
version,
about,
long_about = "A powerful, concurrent CLI tool for searching code across GitHub repositories with advanced rate-limit handling and progress visualization."
)]
pub struct Args {
#[clap(short, long, num_args = 1.., required = true)]
pub words: Vec<String>,
#[clap(short, long, default_value = "search_results.json")]
pub output: String,
#[clap(short = 'p', long, value_name = "NUM")]
pub max_pages: Option<u32>,
#[clap(short, long)]
pub token: Option<String>,
#[clap(short = 'c', long, default_value = "4")]
pub concurrency: usize,
#[clap(long = "include", value_delimiter = ',')]
pub include_extensions: Option<Vec<String>>,
#[clap(long = "exclude", value_delimiter = ',')]
pub exclude_extensions: Option<Vec<String>>,
}