12个版本
0.1.3 | 2022年7月30日 |
---|---|
0.1.2 | 2022年7月24日 |
0.0.7 | 2022年7月24日 |
0.0.0 | 2020年5月29日 |
#342 in 命令行界面
用于 2 crates
1MB
605 代码行,不包括注释
kimono
受CSS和lipgloss启发的终端样式工具包,用于24位真彩色终端。专为优雅的TUI设计。
图像终端渲染由我们的姐妹项目ukiyeo完成。
cargo add kimono
示例
文本可以样式化。
use kimono::*;
const STYLE: Style = Style::new().bold().color(0x91b984);
fn main() {
STYLE.render("こんにちは");
}
Unicode文本可以填充、边框化和定位。
use kimono::*;
const STYLE: Style = Style::new()
.padding_top(1)
.padding_left(1)
.padding_right(2)
.padding_bottom(3)
.border(1)
.border_style(BORDER_STYLE_OUTLINE)
.border_color(0xddae74)
.border_background(0xbc5633)
.color(0xebdeb8)
.background(0x407955);
fn main() {
clear_screen();
STYLE.render_at_position(10, 3, "着物");
print!("\n\r");
}
文本可以限制宽度和/或高度。
use kimono::*;
const STYLE: Style = Style::new()
.padding(1)
.color(0xfffd7c)
.width(8)
.background(0x956471);
fn main() {
clear_screen();
STYLE.render_at_position(10, 3, "abcdefghijklmno");
print!("\n\r");
}
可以测量文本。
(8, 5)
use kimono::*;
const STYLE: Style = Style::new()
.padding(1)
.color(0xfffd7c)
.width(8)
.background(0x956471);
fn main() {
println!("{:?}", STYLE.measure("abcdefghijklmno"));
}
边框具有高级样式。
use kimono::*;
const STYLE: Style = Style::new()
.padding(1)
.color(0xe46281)
.background(0xc50f47)
.border(1)
.italic()
.border_style(BorderStyle {
top_left: None,
top: Some('•'),
top_right: None,
left: Some('•'),
right: Some('•'),
bottom_left: None,
bottom: Some('•'),
bottom_right: None,
bold: true,
italic: false,
underline: false,
strikethrough: false,
})
.border_color(0xe5c7c9)
.border_background(0x9e1d49);
fn main() {
clear_screen();
STYLE.render_at_position(10, 3, "The Tale of Genji by 紫 式部");
print!("\n\r");
}
可以对齐文本。
use kimono::*;
const STYLE: Style = Style::new()
.padding(1)
.color(0xb1a49a)
.background(0xea664d)
.border(1)
.width(30)
.text_align(TextAlign::Center);
fn main() {
clear_screen();
STYLE.render_at_position(10, 3, "sun egg mango");
print!("\n\r");
}
艺术
从Unix终端启发的Kimono图案。
许可证
本项目受以下任一许可证的许可:
- Apache许可证2.0版本,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确说明,否则您提交给 kimono
的任何有意包含的贡献,根据Apache-2.0许可证定义,将按上述方式双许可,不附加任何额外条款或条件。
依赖关系
~0.4–10MB
~53K SLoC