1
Fork 0
mirror of https://github.com/RGBCube/dix synced 2025-07-28 12:17:45 +00:00

src/main.rs: add coloring

This commit is contained in:
Bloxx12 2025-05-04 18:02:33 +02:00
parent 2d92e91205
commit 2893509d42
No known key found for this signature in database
3 changed files with 47 additions and 14 deletions

26
Cargo.lock generated
View file

@ -107,6 +107,15 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
[[package]]
name = "colored"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e"
dependencies = [
"windows-sys",
]
[[package]]
name = "heck"
version = "0.5.0"
@ -125,6 +134,15 @@ version = "2.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
[[package]]
name = "nnpdt"
version = "0.1.0"
dependencies = [
"clap",
"colored",
"regex",
]
[[package]]
name = "once_cell"
version = "1.21.3"
@ -207,14 +225,6 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "version-diff"
version = "0.1.0"
dependencies = [
"clap",
"regex",
]
[[package]]
name = "windows-sys"
version = "0.59.0"

View file

@ -5,6 +5,7 @@ edition = "2024"
[dependencies]
clap = { version = "4.5.37", features = ["derive"] }
colored = "3.0.0"
regex = "1.11.1"
[workspace.lints.clippy]

View file

@ -1,4 +1,5 @@
use clap::Parser;
use colored::Colorize;
use core::str;
use regex::Regex;
use std::{
@ -64,23 +65,35 @@ fn main() {
let removed: HashSet<String> = &pre_keys - &post_keys;
println!("Difference between the two generations:");
println!("Packages added: ");
println!("{}", "Packages added:".underline().bold());
for p in added {
let version = post.get(&p);
if let Some(ver) = version {
println!("A: {p} @ {ver}");
println!(
"{} {} {} {}",
"[A:]".green().bold(),
p,
"@".yellow().bold(),
ver.cyan()
);
}
}
println!();
println!("Packages removed: ");
println!("{}", "Packages removed:".underline().bold());
for p in removed {
let version = pre.get(&p);
if let Some(ver) = version {
println!("R: {p} @ {ver}");
println!(
"{} {} {} {}",
"[R:]".red().bold(),
p,
"@".yellow(),
ver.cyan()
);
}
}
println!();
println!("Version changes: ");
println!("{}", "Version changes:".underline().bold());
for p in maybe_changed {
if p.is_empty() {
continue;
@ -90,7 +103,16 @@ fn main() {
if let (Some(ver_pre), Some(ver_post)) = (version_pre, version_post) {
if ver_pre != ver_post {
println!("C: {p} @ {ver_pre} -> {ver_post}");
// println!("C: {p} @ {ver_pre} -> {ver_post}");
println!(
"{} {} {} {} {} {}",
"[C:]".purple().bold(),
p,
"@".yellow(),
ver_pre.yellow(),
"~>".purple(),
ver_post.cyan()
);
}
}
}