mirror of
https://github.com/RGBCube/dix
synced 2025-07-28 04:07:46 +00:00
switch to yansi
This commit is contained in:
parent
470405b189
commit
65a8d85114
3 changed files with 20 additions and 28 deletions
17
Cargo.lock
generated
17
Cargo.lock
generated
|
@ -107,15 +107,6 @@ 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"
|
||||||
|
@ -139,8 +130,8 @@ name = "nnpdt"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
"colored",
|
|
||||||
"regex",
|
"regex",
|
||||||
|
"yansi",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -297,3 +288,9 @@ name = "windows_x86_64_msvc"
|
||||||
version = "0.52.6"
|
version = "0.52.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "yansi"
|
||||||
|
version = "1.0.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
|
||||||
|
|
|
@ -5,5 +5,5 @@ 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"
|
||||||
|
yansi = "1.0.1"
|
||||||
|
|
29
src/main.rs
29
src/main.rs
|
@ -1,5 +1,4 @@
|
||||||
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::{
|
||||||
|
@ -8,6 +7,7 @@ use std::{
|
||||||
string::{String, ToString},
|
string::{String, ToString},
|
||||||
thread,
|
thread,
|
||||||
};
|
};
|
||||||
|
use yansi::Paint;
|
||||||
|
|
||||||
#[derive(Parser, Debug)]
|
#[derive(Parser, Debug)]
|
||||||
#[command(name = "Nix not Python diff tool")]
|
#[command(name = "Nix not Python diff tool")]
|
||||||
|
@ -82,8 +82,8 @@ fn main() {
|
||||||
let removed: HashSet<&str> = &pre_keys - &post_keys;
|
let removed: HashSet<&str> = &pre_keys - &post_keys;
|
||||||
|
|
||||||
println!("Difference between the two generations:");
|
println!("Difference between the two generations:");
|
||||||
|
|
||||||
println!();
|
println!();
|
||||||
|
|
||||||
print_added(&added, &post);
|
print_added(&added, &post);
|
||||||
print_removed(&removed, &pre);
|
print_removed(&removed, &pre);
|
||||||
println!();
|
println!();
|
||||||
|
@ -185,13 +185,13 @@ fn print_added(set: &HashSet<&str>, post: &HashMap<&str, HashSet<&str>>) {
|
||||||
for p in set {
|
for p in set {
|
||||||
let posts = post.get(p);
|
let posts = post.get(p);
|
||||||
if let Some(ver) = posts {
|
if let Some(ver) = posts {
|
||||||
let version_str = ver.iter().copied().collect::<Vec<_>>().join(" ").cyan();
|
let version_str = ver.iter().copied().collect::<Vec<_>>().join(" ");
|
||||||
println!(
|
println!(
|
||||||
"{} {} {} {}",
|
"{} {} {} {}",
|
||||||
"[A:]".green().bold(),
|
"[A:]".green().bold(),
|
||||||
p,
|
p,
|
||||||
"@".yellow().bold(),
|
"@".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 {
|
for p in set {
|
||||||
let pre = pre.get(p);
|
let pre = pre.get(p);
|
||||||
if let Some(ver) = pre {
|
if let Some(ver) = pre {
|
||||||
let version_str = ver.iter().copied().collect::<Vec<_>>().join(" ").cyan();
|
let version_str = ver.iter().copied().collect::<Vec<_>>().join(" ");
|
||||||
println!(
|
println!(
|
||||||
"{} {} {} {}",
|
"{} {} {} {}",
|
||||||
"[R:]".red().bold(),
|
"[R:]".red().bold(),
|
||||||
p,
|
p,
|
||||||
"@".yellow(),
|
"@".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
|
// 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_pre = pre.get(*p).unwrap();
|
||||||
let ver_post = post.get(*p).unwrap();
|
let ver_post = post.get(*p).unwrap();
|
||||||
let version_str_pre = ver_pre.iter().copied().collect::<Vec<_>>().join(" ").cyan();
|
let version_str_pre = ver_pre.iter().copied().collect::<Vec<_>>().join(" ");
|
||||||
let version_str_post = ver_post
|
let version_str_post = ver_post.iter().copied().collect::<Vec<_>>().join(", ");
|
||||||
.iter()
|
|
||||||
.copied()
|
|
||||||
.collect::<Vec<_>>()
|
|
||||||
.join(" ")
|
|
||||||
.cyan();
|
|
||||||
|
|
||||||
if ver_pre != ver_post {
|
if ver_pre != ver_post {
|
||||||
println!(
|
println!(
|
||||||
"{} {} {} {} {} {}",
|
"{} {} {} {} {} {}",
|
||||||
"[C:]".purple().bold(),
|
"[C:]".bold().bright_yellow(),
|
||||||
p,
|
p,
|
||||||
"@".yellow(),
|
"@".yellow(),
|
||||||
version_str_pre.yellow(),
|
version_str_pre.magenta(),
|
||||||
"~>".purple(),
|
"~>".magenta(),
|
||||||
version_str_post.cyan()
|
version_str_post.blue().blink()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue