list/
list.rs

1use tiny_gradient::{Gradient, GradientStr, RGB};
2
3const LOGO: &str = r"
4 _     _                                                       _   _                  _   
5| |   (_)                                                     | | (_)                | |  
6| |_   _   _ __    _   _   ______    __ _   _ __    __ _    __| |  _    ___   _ __   | |_ 
7| __| | | | '_ \  | | | | |______|  / _` | | '__|  / _` |  / _` | | |  / _ \ | '_ \  | __|
8| |_  | | | | | | | |_| |          | (_| | | |    | (_| | | (_| | | | |  __/ | | | | | |_ 
9 \__| |_| |_| |_|  \__, |           \__, | |_|     \__,_|  \__,_| |_|  \___| |_| |_|  \__|
10                    __/ |            __/ |                                                
11                   |___/            |___/                                                 
12";
13
14fn main() {
15    let logo = LOGO
16        .lines()
17        .map(|l| format!("\t\t{}", l))
18        .collect::<Vec<_>>()
19        .join("\n");
20    let raibow = [
21        RGB::new(255, 0, 0),
22        RGB::new(0, 255, 0),
23        RGB::new(0, 0, 255),
24    ];
25
26    println!("{}", logo.gradient(raibow));
27
28    println!();
29
30    let gradients = [
31        Gradient::Atlast,
32        Gradient::Cristal,
33        Gradient::Fruit,
34        Gradient::Instagram,
35        Gradient::Mind,
36        Gradient::Morning,
37        Gradient::Passion,
38        Gradient::Pastel,
39        Gradient::Rainbow,
40        Gradient::Retro,
41        Gradient::Summer,
42        Gradient::Teen,
43        Gradient::Vice,
44        Gradient::Monsoon,
45        Gradient::Forest,
46    ];
47
48    gradients.into_iter().for_each(|gradient| {
49        let short = " ".repeat(10);
50        let short = short.gradient(gradient).background();
51        let long = " ".repeat(100);
52        let long = long.gradient(gradient).background();
53        let name = format!("{:?}", gradient);
54        println!(" {:<15} {} {}", name, short, long);
55    });
56}