github_code_searching_lib/
args.rs1use clap::Parser;
2
3#[derive(Parser)]
6#[clap(
7 author,
8 version,
9 about,
10 long_about = "A powerful, concurrent CLI tool for searching code across GitHub repositories with advanced rate-limit handling and progress visualization."
11)]
12pub struct Args {
13 #[clap(short, long, num_args = 1.., required = true)]
15 pub words: Vec<String>,
16
17 #[clap(short, long, default_value = "search_results.json")]
19 pub output: String,
20
21 #[clap(short = 'p', long, value_name = "NUM")]
24 pub max_pages: Option<u32>,
25
26 #[clap(short, long)]
28 pub token: Option<String>,
29
30 #[clap(short = 'c', long, default_value = "4")]
32 pub concurrency: usize,
33
34 #[clap(long = "include", value_delimiter = ',')]
36 pub include_extensions: Option<Vec<String>>,
37
38 #[clap(long = "exclude", value_delimiter = ',')]
40 pub exclude_extensions: Option<Vec<String>>,
41}