#tui #终端文本 #设计模式 #文本格式化 #样式 #风格

rusty_style

Rusty Style 是一个用于终端中样式化文本的库

3 个版本

0.1.2 2023年5月18日
0.1.1 2023年5月18日
0.1.0 2023年5月18日

#594命令行界面

27 每月下载量

MIT 许可证

12KB
185

Rusty Style


gloss
Download Download Build Status


简介

  • Rusty Style 是一个用于样式化 TUI 项目的终端实用工具。
  • 它主要受到 go 语言 TUI 库 lipgloss 的启发。

Rusty Style 基于 builder 设计模式。使用 Rusty Style 设计你的 TUI 比以往任何时候都简单。


示例

对于简单的演示,请查看 examples 目录。

use rusty_style::{Color, Style};

fn main() {
    let underline = Style::new().underline();

    println!("{}", underline.render("I am underline!"));

    let bold = Style::new().bold();

    println!("{}", bold.render("I am bold!"));

    let my_style = Style::new()
        .bold()
        .italic()
        .foreground(Color::new(255, 192, 203))
        .set_string("I have multiple");

    println!("{}", my_style.render(", Styles!")); // render will append the text to I Have multiple
}

Example


颜色

Rusty Style 支持 True Color

RGB

rusty_style::Color::new(255, 192, 203) // pink
rusty_style::Color::new(166, 200, 148) // green
rusty_style::Color::new(142, 29, 206) // purple

HEX

rusty_style::Color::convert_hex_to_rgb("#DE3163").unwrap() // cerse
rusty_style::Color::convert_hex_to_rgb("#9F2B68").unwrap() // amaranth
rusty_style::Color::convert_hex_to_rgb("#F2D2BD").unwrap() // bisque

内联格式化

Rusty Style 支持常见的 ANSI 文本格式化选项

let style = rusty_style::Style::new()
    bold().
    faint().
    italic().
    underline().
    blink().
    reverse().
    invisible().
    strikethrough();

提示

当使用 render 时,你将失去你的样式所有权,因为 render 是为了在完成你的样式后使用一次而设计的。如果你想保留你的样式对象,我们建议你克隆你的样式。

let style = rusty_style::Style::new();

let my_copy = style.clone();

警告

  • 如果您有任何建议或问题,请创建一个问题(如果是错误,您必须确保您可以用 Google 解决!)

支持我

  • 感谢您查看此存储库,如果您喜欢,请按 ⭐ 按钮!
  • Edward Elton 制作。

信息
GitHub Repo stars GitHub top language GitHub last commit GitHub GitHub watchers

无运行时依赖