#escaping #parser #ansi #action #table #utf-8 #state

已删除 term-parser

ANSI转义码解析器

0.2.0 2019年8月20日
0.1.1 2019年5月5日
0.1.0 2019年5月5日

#125 in #escaping

MIT 许可证

26KB
670

term-parser

term-parser 是一个用于解析 ANSI转义码 的 Rust 包。

文档


lib.rs:

term-parser 是一个用于解析 ANSI转义码 的 Rust 包。解析器基于 Paul Williams 的 ANSI 兼容视频终端解析器,并修改以支持 UTF-8 输入。实现使用静态状态转换表以最小化分支。

使用方法

要读取转义码,从任何 std::io::Read 创建一个 ActionIter 并消费迭代器返回的 Action。此包附带一个 "logger" 示例,它将打印 stdin 生成的操作描述。要尝试它,请运行以下命令

echo -n "\x1b[30mhello\x1b[0m" | cargo run --example logger

以下是 "logger" 示例的源代码,它演示了如何读取转义码

fn main() {
	let stdin = std::io::stdin();
	let stdin = stdin.lock();
	let stdin = std::io::BufReader::new(stdin);
	let action_iter = term_parser::ActionIter::new(stdin);
	for action in action_iter {
		println!("{:?}", action);
	}
}

依赖项

~10KB