2 个版本
0.1.1 | 2023 年 10 月 4 日 |
---|---|
0.1.0 | 2023 年 10 月 4 日 |
#1287 在 开发工具
22KB
180 代码行
InTerm:Rust 的交互式终端库
InTerm 是一个为 Rust 设计的库,旨在简化交互式终端应用程序的创建。它提供了一种简单灵活的方式,用于在终端中创建和管理交互式元素,从而实现交互式和动态的用户界面。
⚠️ 免责声明:该项目仍在积极开发中,我们非常欢迎并感谢社区的贡献!如果您有兴趣做出贡献,请阅读我们的 贡献指南 :)
目录
功能
- 块结构:表示终端中的交互式元素块或索引行,由
InteractiveElement
实例组成的向量。 - 交互行:表示可以更新终端中的行。它用于
Block
结构中,用于管理单个行。 - 光标管理:提供控制终端中光标位置和可见性的函数。
- 清除行:允许清除特定的行或终端中的所有交互式元素行。
用法
要在您的 Rust 项目中使用 InTerm,请按照以下步骤操作
-
将
interm
依赖项添加到您的Cargo.toml
[dependencies] interm = "0.1.0"
-
将必要的模块导入到您的 Rust 代码中
use interm::{Block, interactive::Line as InteractiveLine};
-
创建一个
Block
并与交互式元素交互let mut elements: Vec<InteractiveLine> = Vec::with_capacity(10); for idx in 0..10 { elements.push(InteractiveLine::new(format!("Download {}", idx).as_str())); } let block = Block::new(elements).unwrap(); // Update an element let elem = &block.interactive_lines[0]; block.update_element(elem, "Download 0: Complete", true).unwrap(); // Go to an element block.goto_idx(0).unwrap(); // Clear a line block.clear_line().unwrap(); // Clear all lines block.clear_lines().unwrap();
示例
查看 示例 目录以获取更多用法示例。
贡献
我们欢迎社区的贡献!如果您发现了一个错误或有改进的想法,请阅读 贡献指南 并提交一个 issue 或创建一个 pull request。
许可协议
本项目采用 MIT 许可协议 许可。
依赖项
~2.5–4MB
~68K SLoC