6 个版本 (稳定)
1.2.0 | 2024 年 8 月 6 日 |
---|---|
1.1.0 | 2024 年 6 月 28 日 |
1.0.2 | 2024 年 4 月 15 日 |
1.0.1 | 2024 年 1 月 26 日 |
0.1.0 | 2023 年 8 月 29 日 |
#462 在 命令行界面
每月 118 次下载
100KB
2K SLoC
Termal
使用 ansi 转义码的 Rust 终端功能库。
目前库包含 ansi 代码和特殊宏。适用于文本样式、颜色和光标移动。
示例
使用宏
use termal::*;
// you can use a special macro to inline the color codes, this will write
// italic text with yellow foreground and reset at the end.
printcln!("{'yellow italic}hello{'reset}");
// the macro also supports standard formatting
printcln!("{'yellow italic}{}{'reset}", "hello");
// you can also use short versions of the codes
printcln!("{'y i}{}{'_}", "hello");
// you can also use true colors with their hex codes
printcln!("{'#dd0 i}{}{'_}", "hello");
不使用宏
// Move cursor to position column 5 on line 7 and write 'hello' in italic
// yellow
use termal::codes::*;
println!("{}{YELLOW_FG}{ITALIC}hello{RESET}", move_to!(5, 7));
例如 move_to!
这样的宏可以接受字面量或动态值。其主要功能是,如果您提供字面量,它将展开为包含 ansi 代码的字符串字面量。如果您提供动态值,它将展开为 format!
宏
use termal::codes::*;
let a = move_to!(5, 7);
// expands to:
let a = "\x1b[5;7H";
let b = move_to!(2 + 3, 7);
// expands to:
let b = format!("\x1b[{};{}H", 2 + 3, 7);
如果您知道参数的值,也可以使用 *c
宏
use termal::formatc;
// the spaces, or the lack of them is important
let a = formatc!("{'move_to5,7}");
渐变
您可以使用函数 termal::gradient
创建渐变
use termal::*;
// This will create foreground gradient from the rgb color `(250, 50, 170)`
// to the rgb color `(180, 50, 240)`
printcln!("{}{'_}", gradient("BonnyAD9", (250, 50, 170), (180, 50, 240)));
如何使用
要查看所有可能的命令和使用方法,请参阅 文档。
如何获取
它可在 crates.io 上找到
使用 cargo
cargo add termal
在 Cargo.toml 中
[dependencies]
termal = "1.0.0"
链接
- 作者: BonnyAD9
- GitHub 仓库: BonnyAD/raplay
- 包: crates.io
- 文档: docs.rs
- 我的网站: bonnyad9.github.io
依赖项
~1.1–1.7MB
~33K SLoC