23 个版本 (重大更改)
0.22.0 | 2024 年 1 月 27 日 |
---|---|
0.20.0 | 2023 年 2 月 12 日 |
0.19.0 | 2022 年 11 月 2 日 |
0.16.0 | 2022 年 4 月 7 日 |
0.4.0 | 2019 年 6 月 30 日 |
#118 在 命令行界面
每月 40,094 次下载
用于 30 个 crates (23 直接)
4MB
110K SLoC
终端魔术
这是一个 Rust crate,为有兴趣在终端显示数据或构建终端模拟器的应用程序提供了一系列支持函数。
它目前处于积极开发中,可能会发生相当大的变化。
包含的功能
Surface
模拟终端显示及其组件Cell
- 终端属性了解现代功能,如真彩色、超链接,并将支持六位和 iterm 风格的终端图形显示。
Surface
包含一个Change
日志,以及一个用于消费和应用差异的 API。这是同步屏幕实例的强大构建块。- 转义序列解析器解码难以理解的转义序列,并赋予它们语义意义,使使用它们的代码更清晰。解码的转义序列可以被重新编码,允许应用程序从语义意义开始,并输出适当的转义序列,而无需嵌入晦涩的二进制字节。
Capabilities
允许探测可能不在系统 terminfo 数据库中包含的终端功能,并在嵌入应用程序中覆盖它们。Terminal
特质提供对 Unix 风格 ttys 和 Windows 风格控制台 API 的抽象。可以从Surface
将Change
渲染到Terminal
。Terminal
允许以阻塞或非阻塞模式解码鼠标和键盘输入。Widget
特质允许在更高层次上组合 UI 元素。LineEditor
实现类似 shell 的行编辑功能。
Windows 支持
Termwiz 理解如何与 Windows 10 中可用的传统控制台 API 和新的 PTY 以及虚拟终端功能一起工作,从而允许在 Windows 10 上实现真正的彩色终端应用程序。
文档
依赖项
~15–29MB
~443K SLoC