9 个版本
0.1.8 | 2024年6月24日 |
---|---|
0.1.7 | 2023年10月27日 |
0.1.0 | 2023年9月30日 |
#183 in 命令行界面
32 每月下载量
69KB
2K SLoC
tui_lib
一个库,使编写 Tui 程序更加容易,自动配置终端以接收单个字符和鼠标事件,以及显示格式化文本。
此项目设置了一个与终端交互的接口。它应该在 Windows、Linux 和 MacOS 上运行。
此项目仍处于早期开发阶段。可能会发生破坏性更改。
用法
- 切勿创建两个同时的 TuiTerminal 副本。由于互斥锁,程序将在创建第二个副本时阻塞。
- 始终以可变实例创建 TuiTerminal。大多数方法都需要可变引用。
// Create a tui_terminal while remaining in main buffer.
let mut tui_terminal = TuiTerminal::new(TuiMode::Standard);
// Create a tui_terminal while switching to alternate buffer.
let mut tui_terminal = TuiTerminal::new(TuiMode::FullScreen);
// Output Line To Console
tui_terminal.println("Hello World!");
// Output Text To Console
tui_terminal.print("Hello World!");
tui_terminal.print("\n");
// Change Font Settings
tui_terminal.set_font_color(Color::White);
tui_terminal.set_background_color(Color::RGB(255, 255, 255));
tui_terminal.set_bold(ThreeBool::True);
tui_terminal.set_underlined(ThreeBool::True);
tui_terminal.set_italics(ThreeBool::True);
tui_terminal.set_inverted(ThreeBool::True);
tui_terminal.set_blinking(ThreeBool::True);
tui_terminal.set_cursor(CursorMode::BlinkingBlock);
// Output Text with formating
tui_terminal.println("Hello World!".set_font_color(Color::CC256(255)));
tui_terminal.println("Hello World!".set_background_color(Color::BrightWhite));
tui_terminal.println("Hello World!".set_underlined(ThreeBool::True));
tui_terminal.println("Hello World!".set_italics(ThreeBool::True));
tui_terminal.println("Hello World!".set_blinking(ThreeBool::True));
变更日志
0.1.4
- 为 TuiTerminal 添加了 write 函数
- 为 TuiTerminal 添加了 set_font_settings_passive
0.1.5
- 为结构体添加了调试实现
0.1.6
- 修复了 Linux 中的缺少调试实现问题
0.1.7
- 为实现了 into 的结构体添加了 set_font_settings 函数
0.1.8
- 添加了一个可以上下移动内容屏幕的终端滚动功能。任何滚动出屏幕的内容都将丢失
测试
在为这个库编写测试时,请确保测试在单个线程上运行。一些函数依赖于协调的输入和输出。Rust 的并行测试可能会创建竞态条件,从而影响结果。
错误报告
如果您发现任何问题,请毫不犹豫地报告。