1
2
3pub fn get_input(msg: &str) -> String {
4 use std::io;
5 let mut input: String = String::new();
6
7 println!("{msg}");
8
9
10 match io::stdin().read_line(&mut input) {
11 Ok(_) => {}
12 Err(error) => {
13 println!("error: {error}")
14 },
15 }
16
17 return String::from(input.trim());
18}
19
20pub struct Colors { }
21
22impl Colors {
23 pub fn fg_red() -> String {
25 return "\x1b[31m".to_string();
26 }
27 pub fn fg_yellow() -> String {
28 return "\x1b[33m".to_string();
29 }
30 pub fn fg_green() -> String {
31 return "\x1b[32m".to_string();
32 }
33 pub fn fg_blue() -> String {
34 return "\x1b[34m".to_string();
35 }
36 pub fn fg_white() -> String {
37 return "\x1b[37m".to_string();
38 }
39 pub fn fg_cyan() -> String {
40 return "\x1b[36m".to_string();
41 }
42 pub fn fg_black() -> String {
43 return "\x1b[30m".to_string();
44 }
45 pub fn fg_magenta() -> String {
46 return "\x1b[35m".to_string();
47 }
48 pub fn fg_reset() -> String {
49 return "\x1b[0m".to_string();
50 }
51
52 pub fn bg_red() -> String {
54 return "\x1b[41m".to_string();
55 }
56 pub fn bg_yellow() -> String {
57 return "\x1b[33m".to_string();
58 }
59 pub fn bg_green() -> String {
60 return "\x1b[32m".to_string();
61 }
62 pub fn bg_blue() -> String {
63 return "\x1b[34m".to_string();
64 }
65 pub fn bg_white() -> String {
66 return "\x1b[37m".to_string();
67 }
68 pub fn bg_cyan() -> String {
69 return "\x1b[36m".to_string();
70 }
71 pub fn bg_black() -> String {
72 return "\x1b[30m".to_string();
73 }
74 pub fn bg_magenta() -> String {
75 return "\x1b[35m".to_string();
76 }
77 pub fn bg_reset() -> String {
78 return "\x1b[0m".to_string();
79 }
80}