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:
parent
2d92e91205
commit
2893509d42
3 changed files with 47 additions and 14 deletions
26
Cargo.lock
generated
26
Cargo.lock
generated
|
@ -107,6 +107,15 @@ version = "1.0.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
|
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]]
|
[[package]]
|
||||||
name = "heck"
|
name = "heck"
|
||||||
version = "0.5.0"
|
version = "0.5.0"
|
||||||
|
@ -125,6 +134,15 @@ version = "2.7.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "nnpdt"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"clap",
|
||||||
|
"colored",
|
||||||
|
"regex",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "once_cell"
|
name = "once_cell"
|
||||||
version = "1.21.3"
|
version = "1.21.3"
|
||||||
|
@ -207,14 +225,6 @@ version = "0.2.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "version-diff"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"clap",
|
|
||||||
"regex",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-sys"
|
name = "windows-sys"
|
||||||
version = "0.59.0"
|
version = "0.59.0"
|
||||||
|
|
|
@ -5,6 +5,7 @@ edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = { version = "4.5.37", features = ["derive"] }
|
clap = { version = "4.5.37", features = ["derive"] }
|
||||||
|
colored = "3.0.0"
|
||||||
regex = "1.11.1"
|
regex = "1.11.1"
|
||||||
|
|
||||||
[workspace.lints.clippy]
|
[workspace.lints.clippy]
|
||||||
|
|
34
src/main.rs
34
src/main.rs
|
@ -1,4 +1,5 @@
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
|
use colored::Colorize;
|
||||||
use core::str;
|
use core::str;
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use std::{
|
use std::{
|
||||||
|
@ -64,23 +65,35 @@ fn main() {
|
||||||
let removed: HashSet<String> = &pre_keys - &post_keys;
|
let removed: HashSet<String> = &pre_keys - &post_keys;
|
||||||
|
|
||||||
println!("Difference between the two generations:");
|
println!("Difference between the two generations:");
|
||||||
println!("Packages added: ");
|
println!("{}", "Packages added:".underline().bold());
|
||||||
for p in added {
|
for p in added {
|
||||||
let version = post.get(&p);
|
let version = post.get(&p);
|
||||||
if let Some(ver) = version {
|
if let Some(ver) = version {
|
||||||
println!("A: {p} @ {ver}");
|
println!(
|
||||||
|
"{} {} {} {}",
|
||||||
|
"[A:]".green().bold(),
|
||||||
|
p,
|
||||||
|
"@".yellow().bold(),
|
||||||
|
ver.cyan()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
println!();
|
println!();
|
||||||
println!("Packages removed: ");
|
println!("{}", "Packages removed:".underline().bold());
|
||||||
for p in removed {
|
for p in removed {
|
||||||
let version = pre.get(&p);
|
let version = pre.get(&p);
|
||||||
if let Some(ver) = version {
|
if let Some(ver) = version {
|
||||||
println!("R: {p} @ {ver}");
|
println!(
|
||||||
|
"{} {} {} {}",
|
||||||
|
"[R:]".red().bold(),
|
||||||
|
p,
|
||||||
|
"@".yellow(),
|
||||||
|
ver.cyan()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
println!();
|
println!();
|
||||||
println!("Version changes: ");
|
println!("{}", "Version changes:".underline().bold());
|
||||||
for p in maybe_changed {
|
for p in maybe_changed {
|
||||||
if p.is_empty() {
|
if p.is_empty() {
|
||||||
continue;
|
continue;
|
||||||
|
@ -90,7 +103,16 @@ fn main() {
|
||||||
|
|
||||||
if let (Some(ver_pre), Some(ver_post)) = (version_pre, version_post) {
|
if let (Some(ver_pre), Some(ver_post)) = (version_pre, version_post) {
|
||||||
if ver_pre != ver_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()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue