Colorize the output!

This commit is contained in:
2025-07-02 22:06:36 -05:00
parent ea046c929f
commit b82cfdb822
2 changed files with 16 additions and 8 deletions

View File

@@ -5,6 +5,7 @@ edition = "2024"
[dependencies] [dependencies]
clap = { version = "4.0.7", features = ["derive", "env"] } clap = { version = "4.0.7", features = ["derive", "env"] }
colored = "2.0.0"
reqwest = { version = "0.11.13", features = ["json", "stream", "multipart"] } reqwest = { version = "0.11.13", features = ["json", "stream", "multipart"] }
serde = { version = "1.0.152", features = ["derive"] } serde = { version = "1.0.152", features = ["derive"] }
tokio = { version = "1.24.2", features = ["macros", "rt-multi-thread"] } tokio = { version = "1.24.2", features = ["macros", "rt-multi-thread"] }

View File

@@ -1,5 +1,6 @@
use std::fmt::Display; use std::fmt::Display;
use colored::Colorize;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize)] #[derive(Debug, Deserialize, Serialize)]
@@ -23,23 +24,29 @@ pub struct Release {
impl Display for Release { impl Display for Release {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let tag = "Tag:".green().bold();
let name = "Name:".green();
let published = "Published:".bright_green();
let created = "Created:".green().dimmed();
let author = "Author:".blue();
let body = if self.body.len() > 0 { let body = if self.body.len() > 0 {
&self.body &self.body.white()
} else { } else {
&String::from("(empty body)") &String::from("(empty body)").dimmed()
}; };
write!(f, write!(f,
"Tag: {} "{tag} {}
Name: {} {name} {}
{} {}
Published: {} (created: {}) {published} {} ({created} {})
Author: {} ({}) {author} {} ({})
", ",
self.tag_name, self.tag_name.bold(),
self.name, self.name,
body, body,
self.published_at, self.published_at,
self.created_at, self.created_at.dimmed(),
self.author.login, self.author.login,
self.author.email, self.author.email,
) )