From bde0940d72c2dee74d0435a062b5828f070d47ec Mon Sep 17 00:00:00 2001 From: dvkt Date: Thu, 21 Nov 2019 23:52:36 -0800 Subject: [PATCH] technicolor --- src/main.rs | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 78fa98a..5a283d3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,12 +4,38 @@ use std::io::{Read, Write}; use std::net::TcpStream; fn main() { - TcpStream::connect("phkt.io:70") + TcpStream::connect("gopher.black:70") .and_then(|mut stream| { stream.write("\r\n".as_ref()).unwrap(); let mut buf = String::new(); stream.read_to_string(&mut buf); - println!("{}", buf); + let mut start = true; + let mut skip_to_end = false; + for c in buf.chars() { + if start { + match c { + 'i' => print!("\x1B[93m"), + 'h' => print!("\x1B[94m"), + '0' => print!("\x1B[95m"), + '1' => print!("\x1B[96m"), + _ => print!("\x1B[0m"), + } + start = false + } else if skip_to_end { + if c == '\n' { + print!("{}", c); + start = true; + skip_to_end = false; + } + } else if c == '\t' { + skip_to_end = true; + } else { + print!("{}", c); + if c == '\n' { + start = true + } + } + } Ok(()) }) .map_err(|err| {