From 46e1389617a809f3ae424bf47bdf45858bda0416 Mon Sep 17 00:00:00 2001 From: MeexReay Date: Sun, 9 Feb 2025 15:39:44 +0300 Subject: [PATCH] client colors --- src/main.rs | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index db2a600..def2e73 100644 --- a/src/main.rs +++ b/src/main.rs @@ -114,12 +114,7 @@ fn on_message(message: String) -> String { let message = message.replace("\0", ""); let message = message.replace("\t", ""); - let captures = Regex::new(r"\[(.*?)\] <(.*?)> (.*)").unwrap().captures(&message) - .or_else(|| Regex::new(&format!("\\[(.*?)\\] {}<(.*?)> (.*)", MAGIC_KEY)).unwrap().captures(&message)) - .or_else(|| Regex::new(&format!("\\[(.*?)\\] {} <(.*?)> (.*)", MAGIC_KEY)).unwrap().captures(&message)) - .or_else(|| Regex::new(r"\[(.*?)\] (.*?): (.*)").unwrap().captures(&message)); - - if let Some(captures) = captures { + if let Some(captures) = Regex::new(r"\[(.*?)\] <(.*?)> (.*)").unwrap().captures(&message) { let date = &captures[1]; let nick = &captures[2]; let content = &captures[3]; @@ -130,6 +125,28 @@ fn on_message(message: String) -> String { result.push_str(&format!("{}{}{}", color::Fg(color::White), style::Blink, content)); result.push_str(&style::Reset.to_string()); result + } else if let Some(captures) = Regex::new(&format!("\\[(.*?)\\] {}<(.*?)> (.*)", MAGIC_KEY)).unwrap().captures(&message) { + let date = &captures[1]; + let nick = &captures[2]; + let content = &captures[3]; + + let mut result = String::new(); + result.push_str(&format!("{}{}[{}] ", color::Fg(color::White), style::Faint, date)); + result.push_str(&format!("{}{}{}<{}> ", style::Reset, style::Bold, color::Fg(color::Green), nick)); + result.push_str(&format!("{}{}{}", color::Fg(color::White), style::Blink, content)); + result.push_str(&style::Reset.to_string()); + result + } else if let Some(captures) = Regex::new(r"\[(.*?)\] (.*?): (.*)").unwrap().captures(&message) { + let date = &captures[1]; + let nick = &captures[2]; + let content = &captures[3]; + + let mut result = String::new(); + result.push_str(&format!("{}{}[{}] ", color::Fg(color::White), style::Faint, date)); + result.push_str(&format!("{}{}{}<{}> ", style::Reset, style::Bold, color::Fg(color::LightMagenta), nick)); + result.push_str(&format!("{}{}{}", color::Fg(color::White), style::Blink, content)); + result.push_str(&style::Reset.to_string()); + result } else if let Some(captures) = Regex::new(r"\[(.*?)\] (.*)").unwrap().captures(&message) { let date = &captures[1]; let content = &captures[2];