diff --git a/Cargo.toml b/Cargo.toml index febccc4..58d4a05 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,6 +5,7 @@ edition = "2024" [dependencies] clap = { version = "4.0.7", features = ["derive", "env"] } +colored = "2.0.0" reqwest = { version = "0.11.13", features = ["json", "stream", "multipart"] } serde = { version = "1.0.152", features = ["derive"] } tokio = { version = "1.24.2", features = ["macros", "rt-multi-thread"] } diff --git a/src/structs/release.rs b/src/structs/release.rs index e065d5a..4f9fc07 100644 --- a/src/structs/release.rs +++ b/src/structs/release.rs @@ -1,5 +1,6 @@ use std::fmt::Display; +use colored::Colorize; use serde::{Deserialize, Serialize}; #[derive(Debug, Deserialize, Serialize)] @@ -23,23 +24,29 @@ pub struct Release { impl Display for Release { 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 { - &self.body + &self.body.white() } else { - &String::from("(empty body)") + &String::from("(empty body)").dimmed() }; + write!(f, -"Tag: {} -Name: {} +"{tag} {} +{name} {} {} -Published: {} (created: {}) -Author: {} ({}) +{published} {} ({created} {}) +{author} {} ({}) ", - self.tag_name, + self.tag_name.bold(), self.name, body, self.published_at, - self.created_at, + self.created_at.dimmed(), self.author.login, self.author.email, )