diff --git a/src/main.rs b/src/main.rs index 1a7a71b..6638b1e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -104,32 +104,53 @@ fn main() -> Result<()> { added.exclude_ignored(); removed.exclude_ignored(); - let mut s = "Official\n".to_string(); + if !args.quiet { + let mut s = "Official\n".to_string(); + // official added + added + .official + .iter() + .for_each(|x| s += &format!("[+] {}\n", x)); + // official removed + removed + .official + .iter() + .for_each(|x| s += &format!("[-] {}\n", x)); - // official added - added - .official - .iter() - .for_each(|x| s += &format!("[+] {}\n", x)); - // official removed - removed - .official - .iter() - .for_each(|x| s += &format!("[-] {}\n", x)); + s += "\nForeign\n"; + // foreign added + added + .foreign + .iter() + .for_each(|x| s += &format!("[+] {}\n", x)); + // foreign removed + removed + .foreign + .iter() + .for_each(|x| s += &format!("[-] {}\n", x)); - s += "\nForeign\n"; - // foreign added - added - .foreign - .iter() - .for_each(|x| s += &format!("[+] {}\n", x)); - // foreign removed - removed - .foreign - .iter() - .for_each(|x| s += &format!("[-] {}\n", x)); + println!("{}", s); + } else { + let mut s = String::new(); - println!("{}", s); + added + .official + .iter() + .for_each(|x| s += &format!("+ {}\n", x)); + added + .foreign + .iter() + .for_each(|x| s += &format!("+ {}\n", x)); + removed + .official + .iter() + .for_each(|x| s += &format!("- {}\n", x)); + removed + .foreign + .iter() + .for_each(|x| s += &format!("- {}\n", x)); + print!("{}", s); + } } Commands::Pure { all } => todo!(), }