8 个不稳定版本 (3 个破坏性更新)
0.4.0 | 2024 年 7 月 27 日 |
---|---|
0.3.0 | 2024 年 7 月 16 日 |
0.2.1 | 2024 年 7 月 1 日 |
0.1.3 | 2024 年 6 月 29 日 |
#366 in 命令行界面
每月下载 270 次
在 termsnap 中使用
38KB
963 行
此工具提供 ANSI 转义序列终端数据的内存模拟以及将模拟的终端屏幕渲染到 SVG 文件的功能。请参阅 文档 或查看 Termsnap README。
lib.rs
:
内存模拟 ANSI 转义序列终端数据并将模拟的终端屏幕渲染到 SVG 文件。
use termsnap_lib::{FontMetrics, Term, VoidPtyWriter};
// Create a new terminal emulator and process some bytes.
let mut term = Term::new(24, 80, VoidPtyWriter);
for byte in b"a line of \x1B[32mcolored\x1B[0m terminal data" {
term.process(*byte);
}
// Create a snapshot of the terminal screen grid.
let screen = term.current_screen();
let text: String = screen.cells().map(|c| c.c).collect();
assert_eq!(text.trim(), "a line of colored terminal data");
assert_eq!(&format!("{}", screen.get(0, 0).unwrap().fg), "#839496");
assert_eq!(&format!("{}", screen.get(0, 10).unwrap().fg), "#859900");
// Render the screen to SVG.
println!("{}", screen.to_svg(&[], FontMetrics::DEFAULT));
依赖关系
~5–15MB
~190K SLoC