bytes-radar 1.0.0

A tool for analyzing code statistics from remote repositories with hyper-fast performance
Documentation
pub fn expand_url(url: &str) -> String {
    if url.starts_with("http://") || url.starts_with("https://") {
        return url.to_string();
    }

    if url.contains('/') && !url.starts_with("http://") && !url.starts_with("https://") {
        let parts: Vec<&str> = url.split('@').collect();
        let repo_part = parts[0];
        let branch_or_commit = parts.get(1);

        let path_parts: Vec<&str> = repo_part.split('/').collect();
        if path_parts.len() == 2 {
            if let Some(branch) = branch_or_commit {
                if branch.len() >= 7 && branch.chars().all(|c| c.is_ascii_hexdigit()) {
                    return format!("https://github.com/{}/commit/{}", repo_part, branch);
                } else {
                    return format!("https://github.com/{}/tree/{}", repo_part, branch);
                }
            } else {
                return format!("https://github.com/{}", repo_part);
            }
        }
    }

    url.to_string()
}

pub fn show_usage_examples() {
    println!("Error: URL argument is required");
    println!();
    println!("Usage: bradar <URL>");
    println!();
    println!("Examples:");
    println!("  # GitHub repositories");
    println!("  bradar user/repo                    # Default branch");
    println!("  bradar user/repo@master             # Specific branch");
    println!("  bradar user/repo@abc123             # Specific commit");
    println!("  bradar https://github.com/user/repo # Full GitHub URL");
    println!();
    println!("  # Other platforms");
    println!("  bradar https://gitlab.com/user/repo # GitLab");
    println!("  bradar https://bitbucket.org/user/repo # Bitbucket");
    println!("  bradar https://codeberg.org/user/repo # Codeberg");
    println!();
    println!("  # Output formats");
    println!("  bradar -f json user/repo            # JSON output");
    println!("  bradar -f csv user/repo             # CSV output");
    println!("  bradar -f xml user/repo             # XML output");
    println!();
    println!("  # Authentication & options");
    println!("  bradar --token ghp_xxx user/repo    # GitHub token");
    println!("  bradar --timeout 600 user/repo      # Custom timeout");
    println!("  bradar --quiet user/repo            # Minimal output");
    println!();
    println!("For more information try --help");
}