14 个版本 (7 个重大变更)

8.0.0 2021 年 12 月 24 日
7.0.1 2021 年 12 月 23 日
6.0.0 2021 年 11 月 16 日
5.0.0 2021 年 10 月 20 日
0.1.0 2021 年 10 月 17 日

#929 in 命令行界面

MIT 许可证

16KB
387

scolor

简单的 ANSI 着色(力求成本接近 0)

use scolor::ColorExt;
println!("{}", "hello".red().bold().underline());
println!("{}", "world".green().red_bg().italic());

use scolor::{Color, CustomStyle, ColorDesc, Effect};
const LIGHT_BLUE_ITALIC_BOLD: CustomStyle<2, 2> =
([ColorDesc::light_blue(), ColorDesc::red_bg()], [Effect::Italic, Effect::Bold]);

println!("{}", "world".custom(LIGHT_BLUE_ITALIC_BOLD));

提供恒等函数作为独立的顶级函数

const BLUE_WORLD: scolor::ColorFmt<'_,str,1,0> = scolor::blue("world");

为了获得更多零成本的强大功能,您可以启用 zero-cost 功能

这使得生成的 ASCII 码尽可能优化

但是,代价是它不太方便,API 调用方式如下

use scolor::ColorExt;
println!("{}", "hello".green().bold::<1>().red_bg::<2>().italic::<2>());

use scolor::{ColorDesc, ColorFmt, Effect, green};
const _:() = {
    let fmt = green("hello").italic::<1>().bold::<2>().red_bg::<2>().crossed_out::<3>();
    assert!(matches!(ColorFmt{fmt:"hello",color:[ColorDesc::green(),ColorDesc::red_bg()],effect:[Effect::Italic, Effect::Bold]}, fmt));
};

许可证:MIT

无运行时依赖

功能