3 个版本 (破坏性更新)
0.3.0 | 2024年7月7日 |
---|---|
0.2.0 | 2024年3月24日 |
0.1.0 | 2024年2月15日 |
在 命令行界面 中排名第 878
每月下载 137 次
215KB
1.5K SLoC
🏔️ Tundra
Tundra 提供了一个框架和实用工具,用于使用 Ratatui 创建交互式终端应用。
Ratatui 是一个用于在终端中创建单一用户界面的综合库,但缺乏组织较大应用程序(由几个界面组成)和接收用户数据输入的功能。
Tundra 旨在通过以下实用工具扩展 Ratatui 的功能:
- 定义应用程序状态。
- 管理终端环境和上下文。
- 通过模态对话框显示消息。
- 通过输入表单和字段接收用户输入。
Tundra 还具有高度的扩展性,可以通过工具轻松定义自己的对话框和输入字段。
它 不 是为了替代 Ratatui 或其包装器,也不是为了后端。Ratatui 仍然需要绘制每个应用程序状态的用户界面,后端仍然需要进行低级终端操作。
📚 文档
阅读文档 这里。
🪪 模态对话框
模态对话框是在背景应用程序状态之上显示的小弹出“窗口”。它们包含消息或提示用户输入,只需调用一个函数即可显示。以下是在对话框中显示的错误消息示例
Tundra 定义了几个此类对话框,并提供了易于使用的接口,同时提供了创建自定义对话框的实用工具。
🕹️ 用户输入
用户输入通过宏实现,该宏在对话框内显示具有指定字段的表单。宏调用的返回值是一个结构体,其中包含用户为每个字段输入的值。值和字段都存储在宏内部创建的不可拼写的结构体的成员中——不需要运行时查找!以下是一个此类表单的示例
Tundra 定义了多种类型的字段,用于输入常见类型的数据,并提供了创建自定义字段的实用工具。
🪧 关于后端的说明
Ratatui 支持多个终端后端。如果您不知道这是什么意思,此说明对您没有意义。
Tundra 目前仅支持 crossterm 后端。这是由于缺乏对不同后端的抽象。必须为每个后端编写和重复代码——特别是与上下文和事件处理相关的代码。
如果您需要为项目添加其他后端,Tundra可能不适合您——至少目前是这样的。
依赖项
约6-12MB
约121K SLoC