1use clap::Parser;
2
3#[derive(Parser, Debug)]
4#[command(name = "gitfetch-rs")]
5#[command(
6 about = "A neofetch-style CLI tool for git.\nOriginal Python CLI is https://github.com/Matars/gitfetch\nSupports GitHub, GitLab, Gitea, and Sourcehut."
7)]
8#[command(version)]
9pub struct Cli {
10 pub username: Option<String>,
12
13 #[arg(long, help_heading = "General Options")]
16 pub no_cache: bool,
17
18 #[arg(long, help_heading = "General Options")]
20 pub clear_cache: bool,
21
22 #[arg(long, short = 'V', help_heading = "General Options")]
24 pub version: bool,
25
26 #[arg(long, help_heading = "General Options")]
28 pub change_provider: bool,
29
30 #[arg(long, help_heading = "General Options")]
32 pub local: bool,
33
34 #[arg(long, help_heading = "Visual Options")]
37 pub spaced: bool,
38
39 #[arg(long, help_heading = "Visual Options")]
41 pub not_spaced: bool,
42
43 #[arg(long, help_heading = "Visual Options")]
45 pub custom_box: Option<String>,
46
47 #[arg(long, help_heading = "Visual Options")]
49 pub graph_only: bool,
50
51 #[arg(long, help_heading = "Visual Options")]
53 pub width: Option<usize>,
54
55 #[arg(long, help_heading = "Visual Options")]
57 pub height: Option<usize>,
58
59 #[arg(long, help_heading = "Visual Options")]
61 pub text: Option<String>,
62
63 #[arg(long, value_delimiter = ',', help_heading = "Visual Options")]
65 pub shape: Option<Vec<String>>,
66
67 #[arg(long, help_heading = "Visual Options")]
69 pub graph_timeline: bool,
70
71 #[arg(long, help_heading = "Visibility")]
74 pub no_date: bool,
75
76 #[arg(long, help_heading = "Visibility")]
78 pub no_achievements: bool,
79
80 #[arg(long, help_heading = "Visibility")]
82 pub no_languages: bool,
83
84 #[arg(long, help_heading = "Visibility")]
86 pub no_issues: bool,
87
88 #[arg(long, help_heading = "Visibility")]
90 pub no_pr: bool,
91
92 #[arg(long, help_heading = "Visibility")]
94 pub no_account: bool,
95
96 #[arg(long, help_heading = "Visibility")]
98 pub no_grid: bool,
99}