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

stilo

一个用于使用ANSI颜色代码美化终端文本的小型库

8个版本

0.3.2 2023年3月22日
0.3.1 2023年3月4日
0.2.2 2023年3月4日
0.1.1 2023年2月22日

910命令行界面 中排名

每月42次下载
2 个crate 中使用

MIT 许可证

23KB
558

Stilo

一个使用ANSI颜色代码美化终端文本的小型库,具有便于使用的宏。

用法

stilo = "0.2.2" 添加到您的 Cargo.toml 依赖中

美化!

创建一个 Style 结构体并格式化文本。

文档

use stilo::stylize;

// Red
println!("{}", stylize!("Hello": Red));

// Red, italic, and bold
println!("{}", stylize!("Hello": Red + italic+bold));

// Default color, italic and bold
println!("{}", stylize!("Hello": +i+b));

// Format string
let world = "World!";
println!("{}", stylize!("Hello {}": Green + i+b, world));

stylize_many!println!_styles!

单独美化多个字符串,并连接。

  • stylize_many!:返回一个格式化文本的 String
  • println_styles!:将格式化文本的 String 打印到标准输出,并带有换行符。
    • println!("{}", stylize_many!( ... )) 相同

文档

use stilo::stylize_many;
let world = "World!";

// `println!("{}", stylize_many!` would also work in this example
println_styles!(
    // Red
    "Hello\n": Red;
    // Red, italic, and bold
    "Hello\n": Red + italic+bold;
    // Default color, italic and bold
    "Hello\n": +i+b;
    // Format string
    "Hello {}": Green + i+b, world;
);

样式!

创建一个 Style 结构体,不进行文本格式化。

文档

// Red
let style = style!(Red);
println!("{}", style.format("Hello"));

// Red, italic, and bold
let style = style!(Red + italic + bold);
println!("{}", style.format("Hello"));

// Default color, italic and bold
let style = style!(+i+b);
println!("{}", style.format("Hello"));

没有宏

use stilo::{Style, Color::*, style_format};

// Create a new style with the builder pattern
// `Style` implements `Copy`
let style = Style::new().color(Red).italic();

// OOP Syntax
println!("{}", style.format("Hello!"));
// Functional syntax
println!("{}", style_format("Hello!", style));

没有运行时依赖