#终端颜色 #文本颜色 #颜色 #终端文本 #文本样式 #终端 #ANSI

lliw

无需额外依赖即可为您的终端提供文本颜色和样式

4 个版本

0.2.0 2021年9月1日
0.1.2 2021年3月9日
0.1.1 2021年2月25日
0.1.0 2021年2月25日

#418 in 命令行界面

每月下载 29 次
用于 2 crate

MIT 许可证

13KB
223 行代码(不含注释)

Lliw

大致发音为khlew,是威尔士语中的“颜色”

Lliw为您的终端提供颜色,无需额外依赖。

目标

  • 无依赖
  • #![no_std] 环境中运行
  • 以非主观的方式提供颜色和样式
  • 提供多种使用方式
  • 不会使您的代码看起来像垃圾
  • 不会假设您如何使用此crate

安装

如果您已安装 cargo-edit,操作非常简单

cargo add lliw

如果您没有安装 cargo-edit,您可以将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
lliw = "0"

示例用法

use lliw::{Fg, Bg, Style, Reset};

fn main() {
    // Prints "Blue" in a blue colour
    println!("{}Blue{}", Fg::Blue, Fg::Reset);
    // Prints "Bold" in bold
    println!("{}Bold{}", Style::Bold, Style::NoBold);
    // Prints "Green" with a green background
    println!("{}Green{}", Bg::Green, Bg::Reset);
    
    // You can even use it in more complicated ways
    println!(
        "{}{}Attention!{}{} You have {}{}1{}{} new message",
        Style::Underline, Fg::Yellow,
        Style::NoUnderline, Fg::Reset,
        Bg::White, Fg::Black,
        Bg::Reset, Fg::Reset,
    );
    
    // You can make them go over the top of each other too
    println!(
        "{}Hello{} Wor{}ld! My{} Name{} {}Is{} Lliw{}",
        Style::Italic, Fg::LightPurple, 
        Bg::Black, Fg::Reset, Style::NoItalic, 
        Style::Underline, Bg::Reset, Reset
    );

    // Don't like these long formatting macros? You can use it like this too!
    print!("{}", Fg::LightRed);
    print!("Hello\nThere!");
    print!("{}\n", Reset);

    // You can also use an RGB value if you want 24-bit colours
    println!(
        "{}R{}a{}i{}n{}b{}o{}w{}",
        Fg::Rgb(255, 0, 0),
        Fg::Rgb(255, 128, 0),
        Fg::Rgb(255, 255, 0),
        Fg::Rgb(0, 255, 0),
        Fg::Rgb(0, 255, 255),
        Fg::Rgb(128, 0, 255),
        Fg::Rgb(255, 0, 128),
        Fg::Reset,
    );
}

用法

lliw提供了3个枚举:FgBgStyle。还有一个结构体 Reset

  • Fg - 控制文本颜色
    • 包括类型:Rgb, Black, Red, Green, Yellow, Blue, Purple, Cyan, White, LightBlack, LightRed, LightGreen, LightYellow, LightBlue, LightPurple, LightCyan, LightWhite 和 Reset。
    • 使用 Reset 变体来重置颜色。
    • 您可以使用 Rgb 变体提供真正的24位颜色值
  • Bg - 控制文本背景颜色
    • 包括类型:Rgb, Black, Red, Green, Yellow, Blue, Purple, Cyan, White, LightBlack, LightRed, LightGreen, LightYellow, LightBlue, LightPurple, LightCyan, LightWhite 和 Reset。
    • 使用 Reset 变体来重置颜色。
    • 您可以使用 Rgb 变体提供真正的24位颜色值
  • Style - 控制文本样式
    • 包括类型:Bold, NoBold, Underline, NoUnderline, Strike, NoStrike, Italic, NoItalic, Inverse, NoInverse, Faint 和 NoFaint。
      • 粗体:使文本加粗,可以与 NoBold 结束
      • 下划线:使文本带有下划线,可以与 NoUnderline 结束
      • 斜体:使文本倾斜,可以与 NoItalic 结束
      • 反转:反转文本颜色,可以与 NoInverse 结束
      • 浅显:使文本变浅,可以用NoFaint终止。
      • 删除线:使文本带有删除线,可以用NoStrike终止。
  • Reset - 这是一个完全重置的结构,在应用时将重置前景、背景和样式。

请务必查看https://docs.rs/lliw上的文档。

许可证:MIT

无运行时依赖。