From 65a8d85114d4a85a8c865503209461bb3f736e76 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Sun, 4 May 2025 23:45:12 +0200 Subject: [PATCH] switch to yansi --- Cargo.lock | 17 +++++++---------- Cargo.toml | 2 +- src/main.rs | 29 ++++++++++++----------------- 3 files changed, 20 insertions(+), 28 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bccf4ff..b0cd346 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -107,15 +107,6 @@ 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" @@ -139,8 +130,8 @@ name = "nnpdt" version = "0.1.0" dependencies = [ "clap", - "colored", "regex", + "yansi", ] [[package]] @@ -297,3 +288,9 @@ name = "windows_x86_64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "yansi" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" diff --git a/Cargo.toml b/Cargo.toml index b15b8bb..71a793f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,5 +5,5 @@ edition = "2024" [dependencies] clap = { version = "4.5.37", features = ["derive"] } -colored = "3.0.0" regex = "1.11.1" +yansi = "1.0.1" diff --git a/src/main.rs b/src/main.rs index 4d9c5c7..7431dca 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,4 @@ use clap::Parser; -use colored::Colorize; use core::str; use regex::Regex; use std::{ @@ -8,6 +7,7 @@ use std::{ string::{String, ToString}, thread, }; +use yansi::Paint; #[derive(Parser, Debug)] #[command(name = "Nix not Python diff tool")] @@ -82,8 +82,8 @@ fn main() { let removed: HashSet<&str> = &pre_keys - &post_keys; println!("Difference between the two generations:"); - println!(); + print_added(&added, &post); print_removed(&removed, &pre); println!(); @@ -185,13 +185,13 @@ fn print_added(set: &HashSet<&str>, post: &HashMap<&str, HashSet<&str>>) { for p in set { let posts = post.get(p); if let Some(ver) = posts { - let version_str = ver.iter().copied().collect::>().join(" ").cyan(); + let version_str = ver.iter().copied().collect::>().join(" "); println!( "{} {} {} {}", "[A:]".green().bold(), p, "@".yellow().bold(), - version_str + version_str.blue().blink() ); } } @@ -201,13 +201,13 @@ fn print_removed(set: &HashSet<&str>, pre: &HashMap<&str, HashSet<&str>>) { for p in set { let pre = pre.get(p); if let Some(ver) = pre { - let version_str = ver.iter().copied().collect::>().join(" ").cyan(); + let version_str = ver.iter().copied().collect::>().join(" "); println!( "{} {} {} {}", "[R:]".red().bold(), p, "@".yellow(), - version_str + version_str.blue().blink() ); } } @@ -226,23 +226,18 @@ fn print_changes( // can not fail since maybe_changed is the union of the keys of pre and post let ver_pre = pre.get(*p).unwrap(); let ver_post = post.get(*p).unwrap(); - let version_str_pre = ver_pre.iter().copied().collect::>().join(" ").cyan(); - let version_str_post = ver_post - .iter() - .copied() - .collect::>() - .join(" ") - .cyan(); + let version_str_pre = ver_pre.iter().copied().collect::>().join(" "); + let version_str_post = ver_post.iter().copied().collect::>().join(", "); if ver_pre != ver_post { println!( "{} {} {} {} {} {}", - "[C:]".purple().bold(), + "[C:]".bold().bright_yellow(), p, "@".yellow(), - version_str_pre.yellow(), - "~>".purple(), - version_str_post.cyan() + version_str_pre.magenta(), + "~>".magenta(), + version_str_post.blue().blink() ); } }