git_editor/utils/
help.rs

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}