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命令行界面

Download history 11159/week @ 2024-03-14 12079/week @ 2024-03-21 9404/week @ 2024-03-28 10021/week @ 2024-04-04 9723/week @ 2024-04-11 10608/week @ 2024-04-18 9596/week @ 2024-04-25 8883/week @ 2024-05-02 9023/week @ 2024-05-09 9997/week @ 2024-05-16 8182/week @ 2024-05-23 10801/week @ 2024-05-30 9984/week @ 2024-06-06 11172/week @ 2024-06-13 10168/week @ 2024-06-20 6649/week @ 2024-06-27

每月 40,094 次下载
用于 30 个 crates (23 直接)

MIT 许可证

4MB
110K SLoC

终端魔术

这是一个 Rust crate,为有兴趣在终端显示数据或构建终端模拟器的应用程序提供了一系列支持函数。

它目前处于积极开发中,可能会发生相当大的变化。

包含的功能

  • Surface 模拟终端显示及其组件 Cell
  • 终端属性了解现代功能,如真彩色、超链接,并将支持六位和 iterm 风格的终端图形显示。
  • Surface 包含一个 Change 日志,以及一个用于消费和应用差异的 API。这是同步屏幕实例的强大构建块。
  • 转义序列解析器解码难以理解的转义序列,并赋予它们语义意义,使使用它们的代码更清晰。解码的转义序列可以被重新编码,允许应用程序从语义意义开始,并输出适当的转义序列,而无需嵌入晦涩的二进制字节。
  • Capabilities 允许探测可能不在系统 terminfo 数据库中包含的终端功能,并在嵌入应用程序中覆盖它们。
  • Terminal 特质提供对 Unix 风格 ttys 和 Windows 风格控制台 API 的抽象。可以从 SurfaceChange 渲染到 TerminalTerminal 允许以阻塞或非阻塞模式解码鼠标和键盘输入。
  • Widget 特质允许在更高层次上组合 UI 元素。
  • LineEditor 实现类似 shell 的行编辑功能。

Windows 支持

Termwiz 理解如何与 Windows 10 中可用的传统控制台 API 和新的 PTY 以及虚拟终端功能一起工作,从而允许在 Windows 10 上实现真正的彩色终端应用程序。

文档

https://docs.rs/termwiz

依赖项

~15–29MB
~443K SLoC