Trait colorful::Colorful

source ·
pub trait Colorful {
Show 53 methods fn color<C: ColorInterface>(self, color: C) -> CString; fn black(self) -> CString; fn red(self) -> CString; fn green(self) -> CString; fn yellow(self) -> CString; fn blue(self) -> CString; fn magenta(self) -> CString; fn cyan(self) -> CString; fn light_gray(self) -> CString; fn dark_gray(self) -> CString; fn light_red(self) -> CString; fn light_green(self) -> CString; fn light_yellow(self) -> CString; fn light_blue(self) -> CString; fn light_magenta(self) -> CString; fn light_cyan(self) -> CString; fn white(self) -> CString; fn bg_color<C: ColorInterface>(self, color: C) -> CString; fn bg_black(self) -> CString; fn bg_red(self) -> CString; fn bg_green(self) -> CString; fn bg_yellow(self) -> CString; fn bg_blue(self) -> CString; fn bg_magenta(self) -> CString; fn bg_cyan(self) -> CString; fn bg_light_gray(self) -> CString; fn bg_dark_gray(self) -> CString; fn bg_light_red(self) -> CString; fn bg_light_green(self) -> CString; fn bg_light_yellow(self) -> CString; fn bg_light_blue(self) -> CString; fn bg_light_magenta(self) -> CString; fn bg_light_cyan(self) -> CString; fn bg_white(self) -> CString; fn rgb(self, r: u8, g: u8, b: u8) -> CString; fn bg_rgb(self, r: u8, g: u8, b: u8) -> CString; fn hsl(self, h: f32, s: f32, l: f32) -> CString; fn bg_hsl(self, h: f32, s: f32, l: f32) -> CString; fn style(self, style: Style) -> CString; fn bold(self) -> CString; fn blink(self) -> CString; fn dim(self) -> CString; fn underlined(self) -> CString; fn reverse(self) -> CString; fn hidden(self) -> CString; fn gradient_with_step<C: ColorInterface>(self, color: C, step: f32) -> CString; fn gradient_with_color<C: ColorInterface>(self, start: C, stop: C) -> CString; fn gradient<C: ColorInterface>(self, color: C) -> CString; fn rainbow_with_speed(self, speed: i32); fn rainbow(self); fn neon_with_speed<C: ColorInterface>(self, low: C, high: C, speed: i32); fn neon<C: ColorInterface>(self, low: C, high: C); fn warn(self);
}
Expand description

Support &str and String, you can use "text".red() and s.red() for s:String

Required Methods

Set foreground color. Support Color enum and HSL, RGB mode.

extern crate colorful;

use colorful::Colorful;
use colorful::Color;

fn main() {
    let a = "Hello world";
    println!("{}", a.color(Color::Red));
    println!("{}", a.blue());
    let b = String::from("Hello world");
    println!("{}", b.blue());
}

Set background color. Support Color enum and HSL, RGB mode.

extern crate colorful;

use colorful::Colorful;
use colorful::Color;

fn main() {
    let a = "Hello world";
    println!("{}", a.bg_color(Color::Red));
}

Support RGB color and HSL mode

extern crate colorful;

use colorful::Colorful;

fn main() {
    let a = "Hello world";
    println!("{}", a.rgb(100, 100, 100).bg_rgb(100, 100, 100);
    println!("{}", a.hsl(0.5, 0.5, 0.5)).bg_hsl(0.5, 0.5, 0.5));
}

Terminal effect See ANSI escape code For terminals compatibility, check Terminals compatibility

Turn bold mode on.

Turn blinking mode on. Blink doesn’t work in many terminal emulators ,and it will still work on the console.

Turn low intensity mode on.

Turn underline mode on.

Turn reverse mode on (invert the foreground and background colors).

Turn invisible text mode on (useful for passwords).

Apply gradient color to sentences, support multiple lines. You can use use colorful::Color; or use colorful::HSL; or use colorful::RGB; to import colors and create gradient string.

extern crate colorful;

use colorful::Color;
use colorful::Colorful;

fn main() {
    println!("{}", "This code is editable and runnable!".gradient(Color::Red));
    println!("{}", "¡Este código es editable y ejecutable!".gradient(Color::Green));
    println!("{}", "Ce code est modifiable et exécutable !".gradient(Color::Yellow));
    println!("{}", "Questo codice è modificabile ed eseguibile!".gradient(Color::Blue));
    println!("{}", "このコードは編集して実行出来ます!".gradient(Color::Magenta));
    println!("{}", "여기에서 코드를 수정하고 실행할 수 있습니다!".gradient(Color::Cyan));
    println!("{}", "Ten kod można edytować oraz uruchomić!".gradient(Color::LightGray));
    println!("{}", "Este código é editável e executável!".gradient(Color::DarkGray));
    println!("{}", "Этот код можно отредактировать и запустить!".gradient(Color::LightRed));
    println!("{}", "Bạn có thể edit và run code trực tiếp!".gradient(Color::LightGreen));
    println!("{}", "这段代码是可以编辑并且能够运行的!".gradient(Color::LightYellow));
    println!("{}", "Dieser Code kann bearbeitet und ausgeführt werden!".gradient(Color::LightBlue));
    println!("{}", "Den här koden kan redigeras och köras!".gradient(Color::LightMagenta));
    println!("{}", "Tento kód můžete upravit a spustit".gradient(Color::LightCyan));
    println!("{}", "این کد قابلیت ویرایش و اجرا دارد!".gradient(Color::White));
    println!("{}", "โค้ดนี้สามารถแก้ไขได้และรันได้".gradient(Color::Grey0));
}

Rainbow mode, support multiple lines

Neon mode

Show some warning words.

Implementors