1use colored::*;
2
3pub fn print_help() {
4 println!(
5 "{}",
6 "Git Editor - Git History Rewriting Tool".green().bold()
7 );
8 println!();
9 println!("{}", "A powerful Rust-based command-line utility designed to safely rewrite Git commit metadata.".white());
10 println!();
11 println!("{}", "USAGE:".yellow().bold());
12 println!(" {} [OPTIONS]", "git-editor".cyan());
13 println!();
14 println!("{}", "OPERATION MODES:".yellow().bold());
15 println!(" {} Full History Rewrite (default)", "•".green());
16 println!(" Requires: --email, --name, --begin, --end");
17 println!(" Example: git-editor --email user@example.com --name \"User\" --begin \"2023-01-01 00:00:00\" --end \"2023-01-07 23:59:59\"");
18 println!();
19 println!(" {} Show History", "•".green());
20 println!(" Flag: -s, --show-history");
21 println!(" Example: git-editor -s");
22 println!();
23 println!(" {} Pick Specific Commits", "•".green());
24 println!(" Flag: -p, --pick-specific-commits");
25 println!(" Example: git-editor -p");
26 println!();
27 println!(" {} Range Editing", "•".green());
28 println!(" Flag: -x, --range");
29 println!(" Example: git-editor -x");
30 println!();
31 println!("{}", "OPTIONS:".yellow().bold());
32 println!(
33 " {:<25} Path to Git repository (defaults to current directory)",
34 "-r, --repo-path <PATH>".cyan()
35 );
36 println!(
37 " {:<25} Email for rewritten commits",
38 "--email <EMAIL>".cyan()
39 );
40 println!(
41 " {:<25} Name for rewritten commits",
42 "-n, --name <NAME>".cyan()
43 );
44 println!(
45 " {:<25} Start date (YYYY-MM-DD HH:MM:SS)",
46 "-b, --begin <DATE>".cyan()
47 );
48 println!(
49 " {:<25} End date (YYYY-MM-DD HH:MM:SS)",
50 "-e, --end <DATE>".cyan()
51 );
52 println!(" {:<25} Show commit history", "-s, --show-history".cyan());
53 println!(
54 " {:<25} Interactive commit selection",
55 "-p, --pick-specific-commits".cyan()
56 );
57 println!(" {:<25} Interactive range editing", "-x, --range".cyan());
58 println!(" {:<25} Print help information", "-h, --help".cyan());
59 println!(" {:<25} Print version information", "-V, --version".cyan());
60 println!();
61 println!(
62 "{}",
63 "For more detailed usage information, use: git-editor --help"
64 .white()
65 .italic()
66 );
67}