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
use minimo::{gray, header, in_bold, in_cyan, in_gray, in_italic, in_magenta, in_underline, in_yellow, show, showln, success, vibrant, yellow, Printable};

fn main() {
    // Displaying a header
    header!(success, "Minimo", "VERSION 0.1.0", "A minimalistic terminal printing library for Rust");

    // Using showln! macro for colorful text segments
    showln!(gray, "You can use ", magenta, "show!", gray, " or ", yellow, "showln!", gray, " macros");
    showln!(gray, "to print text segments in different colors.\n (Make sure each segment starts with a color)");

    // Using show! and showln! macros with Printable trait
    "You can also use ".show();
    "show! ".print(in_magenta);
    "and ".print(in_gray);
    "showln! ".println(in_cyan);
    "macros to print random text segments with formatting.".showln();

    // Additional demonstrations
    "This is a line in gray.".println(in_gray);
    "This line is in yellow.".println(in_yellow);

    // Demonstrating text styling
    "Bold and colorful text: ".show();
    "Bold".print(in_bold);
    ", ".show();
    "Italic".print(in_italic);
    ", and ".show();
    "Underlined".println(in_underline);

    // Showing usage of vibrant function for colorful characters
    "Vibrant text example: ".print(vibrant);
    "Colorful characters!".println(minimo::vibrant);

    // Showing divider and reset line
    minimo::divider();
    "Divider above".showln();
    minimo::reset_line();
    "Reset line used".showln();
}