2 个版本
0.1.1 | 2021 年 9 月 30 日 |
---|---|
0.1.0 | 2021 年 9 月 29 日 |
#563 in 命令行界面
每月下载 29 次
65KB
665 行
概述
这是一个用于更复杂 CLI 的轻量级库,具有多个元素。它旨在使分离多个 UI 元素更容易。
它也设计得非常灵活。利用 Rust 的 trait 接口,您可以使其从任何 CLI API 输出,尽管它最初是为 crossterm 设计的。
使用方法
预览包含您可以使用的所有内容(这并不多)。
我建议您查看文档。以下是每个结构的作用的简要说明
Grid
Alignment:用于输入的枚举。
DividerStrategy:用于决定文本在 DrawProcess 内部放置位置的枚举。
Frame:用于表示整个终端的结构,并“保存”维度数据。
SplitStrategy:用于决定如何分割网格的结构。
Grid:表示终端部分的区域。
Out
Action:用于表示移动光标或绘图的枚举。
Handler:一个用于将结构转换为输出的 trait。
SafeHandler:一个用于不返回错误的 handler trait。
OutToString:一个将文本写入字符串而不考虑位置的 handler。
StringBuffer:一个将文本写入字符串向量并考虑位置的 handler。
Process
DrawProcess:表示已被“激活”的终端块。可以添加文本然后打印。
Trim
FormatError:表示格式问题。目前仅在文本空间不足时返回。
TrimStrategy:一个用于将文本转换为修剪文本(适合 DrawProcess 的文本)的 trait。
Ignore:一个忽略文本是否适合的 TrimStrategy。仅用于调试和示例目的。
Split:一个如果文本不适合就将其拆分为多行的 TrimStrategy。
Truncate:一个移除所有不适合的文本的 TrimStrategy。
TrimmedText:TrimStrategy 的输出。
状态
应该完成。
已完成的功能
- 基本功能
- 与其他 API 一起使用的能力
- 清除 DrawProcess 以再次使用的功能
正在开发的功能
- 替换/删除 DrawProcess 的单独行
- 如果某个部分不合适,强制“挤压”代码的选项
- 手动设置行而不是推它们(并处理冲突 - 可能还需要一个额外的特性:OneLineTrimStrategy?)
将要添加的功能
- 支持 Ansii 代码
许可证
本项目采用 MIT 许可证。
(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
变更日志
v 0.1.1: 更新 DrawProcess 添加 clear 函数。修复了文档中一个被删除的函数被调用的错误。
v 0.1.0: 初始提交
依赖项
~0.5–1.3MB
~21K SLoC