git_x/
graph.rs

1use std::process::Command;
2
3pub fn run() {
4    let output = Command::new("git")
5        .args(get_git_log_args())
6        .output()
7        .expect("Failed to run git log");
8
9    if output.status.success() {
10        let result = String::from_utf8_lossy(&output.stdout);
11        println!("{result}");
12    } else {
13        let err = String::from_utf8_lossy(&output.stderr);
14        eprintln!("{}", format_git_error(&err));
15    }
16}
17
18// Helper function to get git log arguments
19pub fn get_git_log_args() -> [&'static str; 5] {
20    ["log", "--oneline", "--graph", "--decorate", "--all"]
21}
22
23// Helper function to format error message
24pub fn format_git_error(stderr: &str) -> String {
25    format!("❌ git log failed:\n{stderr}")
26}