2个不稳定版本

0.2.0 2022年10月18日
0.1.1 2022年10月18日
0.1.0 2022年7月19日

#1066解析器实现

Download history 8758/week @ 2024-03-14 8783/week @ 2024-03-21 8350/week @ 2024-03-28 8619/week @ 2024-04-04 10604/week @ 2024-04-11 9414/week @ 2024-04-18 7568/week @ 2024-04-25 9695/week @ 2024-05-02 9543/week @ 2024-05-09 7986/week @ 2024-05-16 7559/week @ 2024-05-23 8628/week @ 2024-05-30 9243/week @ 2024-06-06 10309/week @ 2024-06-13 10978/week @ 2024-06-20 8825/week @ 2024-06-27

40,573 每月下载量
109 crate 中使用 (5 个直接使用)

MIT 许可证

57KB
1K SLoC

ANSI转义码标记化

gitlab crates.io docs.rs build status

这是一个解析ANSI转义序列的库。

覆盖的序列列表。

  • 光标位置
  • 光标 {上,下,向前,向后}
  • 光标 {保存,恢复}
  • 清除显示
  • 清除行
  • 设置图形模式
  • 设置/重置文本模式

用法

use ansitok::{parse_ansi, Output};

fn main() {
    let text = "\x1b[31;1;4mHello World\x1b[0m";

    for output in parse_ansi(text) {
        match output {
            Output::Text(text) => println!("Got a text: {:?}", text),
            Output::Escape(esc) => println!("Got an escape sequence: {:?}", esc),
        }
    }
}

no_std 支持

no_std 通过禁用你的 Cargo.toml 中的 std 功能来支持。

注意

该项目受到了 https://gitlab.com/davidbittner/ansi-parser 的启发。

依赖项

~1.5MB
~24K SLoC