#color #terminal-colors #ansi-colors #terminal #ansi

antsee

一个简单、无依赖、多功能的用于终端颜色和属性的 crate

2 个稳定版本

新功能 1.0.1 2024 年 8 月 20 日

#371命令行界面

MIT 许可证

19KB
494

antsee

antsee 是一个轻量级且无依赖的 ANSI 库,其主要目标是提供灵活的样式。这主要通过其建模颜色的方式实现。在 antsee 中,一个 Color 代表两种颜色。一种用于暗色终端背景,另一种用于亮色终端背景。此外,每种颜色可以包含三个颜色值,以支持 ANSI16、ANSI256 和 RGB 终端。如果提供了适当的信息,Color 将选择适合应用程序运行环境的适当颜色。

此 crate 不旨在检测当前终端的颜色支持,也不旨在确定背景是暗色还是亮色。

计划中的功能

  • Windows 支持(在 Windows 上自动启用 ANSI 支持)
  • 包含每个文本块多个样式的字符串,易于编辑
  • 支持非标准属性(例如超链接)

示例用法

let styled_str = "Hi there"
        .to_styled_string()
        .with_foreground(RGB::rgb(134, 100, 50))
        .with_background(ANSI16::BrightBlack)
        .with_property(Property::Underline);
let style = Style::default()
        .with_foreground(Color::from(ANSI16::Red))
        .with_background(Color::from(ANSI16::Black))
        .with_property(Property::Bold)
        .with_property(Property::Underline);

let output = style.paint("Hello");

无运行时依赖