1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
pub use std::string::ToString;

/// Take an item that implements ToString and return in red
/// The second paramater is if it is bold true for bold false for nomal
///
/// Example
///
/// ```rust
///
/// use cli_kit::ansi::color_codes::red;
///
/// fn main() {
///     // bold
///     println!("{}", red(5, true));
///     // normal
///     println!("{}", red(5, false));
/// }
/// ```
pub fn red<T: ToString>(text: T, bold: bool) -> String {
    let mut result = String::from("\x1b[31m".to_owned() + &text.to_string() + "\x1b[0m");
    if bold {
        result = "\x1b[1m".to_owned() + &result;
    }
    return result;
}

/// Take an item that implements ToString and return in green
/// The second paramater is if it is bold true for bold false for nomal
///
/// Example
///
/// ```rust
///
/// use cli_kit::ansi::color_codes::green;
///
/// fn main() {
///     // bold
///     println!("{}", green(5, true));
///     // normal
///     println!("{}", green(5, false));
/// }
/// ```
pub fn green<T: ToString>(text: T, bold: bool) -> String {
    let mut result = String::from("\x1b[32m".to_owned() + &text.to_string() + "\x1b[0m");
    if bold {
        result = "\x1b[1m".to_owned() + &result;
    }
    return result;
}

/// Take an item that implements ToString and return in yellow
/// The second paramater is if it is bold true for bold false for nomal
///
/// Example
///
/// ```rust
///
/// use cli_kit::ansi::color_codes::yellow;
///
/// fn main() {
///     // bold
///     println!("{}", yellow(5, true));
///     // normal
///     println!("{}", yellow(5, false));
/// }
/// ```
pub fn yellow<T: ToString>(text: T, bold: bool) -> String {
    let mut result = String::from("\x1b[33m".to_owned() + &text.to_string() + "\x1b[0m");
    if bold {
        result = "\x1b[1m".to_owned() + &result;
    }
    return result;
}

/// Take an item that implements ToString and return in blue
///
/// Example
///
/// ```rust
///
/// use cli_kit::ansi::color_codes::blue;
///
/// fn main() {
///     // bold
///     println!("{}", blue(5, true));
///     // normal
///     println!("{}", blue(5, false))
/// }
/// ```
pub fn blue<T: ToString>(text: T, bold: bool) -> String {
    let mut result = String::from("\x1b[34m".to_owned() + &text.to_string() + "\x1b[0m");
    if bold {
        result = "\x1b[1m".to_owned() + &result;
    }
    return result;
}