File: gradient_colors.rs

package info (click to toggle)
rustc 1.85.0%2Bdfsg3-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental, forky, sid, trixie
  • size: 893,396 kB
  • sloc: xml: 158,127; python: 35,830; javascript: 19,497; cpp: 19,002; sh: 17,245; ansic: 13,127; asm: 4,376; makefile: 1,051; perl: 29; lisp: 29; ruby: 19; sql: 11
file content (37 lines) | stat: -rw-r--r-- 1,241 bytes parent folder | download | duplicates (11)
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
use nu_ansi_term::{build_all_gradient_text, Color, Gradient, Rgb, TargetGround};

fn main() {
    let text = "lorem ipsum quia dolor sit amet, consectetur, adipisci velit";

    // a gradient from hex colors
    let start = Rgb::from_hex(0x40c9ff);
    let end = Rgb::from_hex(0xe81cff);
    let grad0 = Gradient::new(start, end);

    // a gradient from color::rgb()
    let start = Color::Rgb(64, 201, 255);
    let end = Color::Rgb(232, 28, 255);
    let gradient = Gradient::from_color_rgb(start, end);

    // a slightly different gradient
    let start2 = Color::Rgb(128, 64, 255);
    let end2 = Color::Rgb(0, 28, 255);
    let gradient2 = Gradient::from_color_rgb(start2, end2);

    // reverse the gradient
    let gradient3 = gradient.reverse();

    let build_fg = gradient.build(text, TargetGround::Foreground);
    println!("{}", build_fg);
    let build_bg = gradient.build(text, TargetGround::Background);
    println!("{}", build_bg);
    let bgt = build_all_gradient_text(text, gradient, gradient2);
    println!("{}", bgt);
    let bgt2 = build_all_gradient_text(text, gradient, gradient3);
    println!("{}", bgt2);

    println!(
        "{}",
        grad0.build("nushell is awesome", TargetGround::Foreground)
    );
}