#ansi #terminal #cli #flicker

tty-overwriter

一个用于简化在 stdout 中覆盖文本的库。创建一个正文,然后根据需要覆盖它。

1 个不稳定版本

0.1.0 2024 年 5 月 15 日

#47无障碍性

MIT 许可证

13KB
260 代码行

TTY Overwriter

TTY Overwriter 是一个由两个模块组成的库: ansi_seqbodyansi_seq 是要写入的 ansi 序列。 body 是一个使用 ansi 序列将文本重写到终端的循环中,且不会闪烁的小工具。

  • ansi_seq 是要写入的 ansi 序列。
  • body 是一个小工具,它使用 ansi 序列以循环方式将文本重写到终端,而不会产生闪烁。

该库的设计小巧(小于 1k 行)且没有直接依赖;尽管 Body.overwrite 的第三个参数可以很容易地由像 term_size 这样的 crate 提供,如 replace-body 示例所示。

let mut body = Body::default();
body.overwrite("my text", &mut std::io::stdout(), 80);
body.overwrite("replacement of my text.", &mut std::io::stdout(), 80);

示例

如何使用 Body

cargo run --example replace-body

如何使用 AnsiSeq

cargo run --example replace-paragraph

lib.rs:

TTY Overwriter 是一个由两个模块组成的库: ansi_seqbodyansi_seq 是要写入的 ansi 序列。 body 是一个使用 ansi 序列将文本重写到终端的循环中,且不会闪烁的小工具。

无运行时依赖