6 个版本
0.6.7 | 2019年11月5日 |
---|---|
0.6.6 | 2019年11月5日 |
0.6.5 | 2019年10月10日 |
0.6.4 | 2019年9月25日 |
#527 in 命令行界面
340KB
11K SLoC
tui-rs
tui-rs
是一个用于构建丰富终端用户界面和仪表板的 Rust 库。它深受 blessed-contrib 这个 Javascript
库和 termui 这个 Go
库的启发。
该库本身支持四种不同的后端来绘制到终端。你可以选择以下之一
但是,某些功能可能仅适用于这四个中的一个。
该库基于即时渲染和中间缓冲区的原则。这意味着在每一帧中,你应该构建所有应包含在 UI 中的小部件。虽然这为丰富的交互式 UI 提供了极大的灵活性,但可能会给高度动态的内容引入开销。因此,实现尝试最小化生成以绘制更新 UI 的 ansi 转义序列的数量。实际上,考虑到 Rust
的速度,开销更多来自于终端模拟器而不是库本身。
此外,该库不提供任何输入处理或任何事件系统,你可以依赖前面提到的库来实现这些功能。
文档
演示
在 gif 中展示的演示可以在所有可用的后端中运行(exmples/*_demo.rs
文件)。例如,要查看 termion
版本,可以运行
cargo run --example termion_demo --release -- --tick-rate 200
UI代码位于examples/demo/ui.rs,而应用程序状态位于examples/demo/app.rs。
小部件
该库包含以下列表的小部件
单击每个项目查看示例的源代码。使用cargo运行示例(例如,运行演示:cargo run --example demo
),并按q
键退出。
您可以通过运行make run-examples
来运行所有示例。
第三方小部件
替代方案
您可能想查看Cursive,以获取在Rust中构建文本用户界面的替代解决方案。
许可
依赖项
~2–11MB
~106K SLoC