10 个稳定版本 (4 个主要版本)

4.0.3 2023 年 8 月 28 日
4.0.2 2022 年 1 月 25 日
3.0.2 2020 年 11 月 30 日
3.0.1 2020 年 5 月 17 日
0.1.1 2019 年 5 月 13 日

#73命令行界面

Download history 2047/week @ 2024-04-23 2381/week @ 2024-04-30 2334/week @ 2024-05-07 2318/week @ 2024-05-14 2103/week @ 2024-05-21 1726/week @ 2024-05-28 2273/week @ 2024-06-04 2098/week @ 2024-06-11 1885/week @ 2024-06-18 1939/week @ 2024-06-25 1394/week @ 2024-07-02 1445/week @ 2024-07-09 1176/week @ 2024-07-16 1553/week @ 2024-07-23 1501/week @ 2024-07-30 1339/week @ 2024-08-06

5,820 每月下载量
12 软件包 中使用

MIT 许可证

43KB
1K SLoC

ascii-table

将 ASCII 表打印到终端。

示例

use ascii_table::AsciiTable;

let ascii_table = AsciiTable::default();
let data = vec![&[1, 2, 3], &[4, 5, 6], &[7, 8, 9]];
ascii_table.print(data);
// ┌───┬───┬───┐
// │ 1 │ 2 │ 3 │
// │ 4 │ 5 │ 6 │
// │ 7 │ 8 │ 9 │
// └───┴───┴───┘

示例

use std::fmt::Display;
use ascii_table::{AsciiTable, Align};

let mut ascii_table = AsciiTable::default();
ascii_table.set_max_width(26);
ascii_table.column(0).set_header("H1").set_align(Align::Left);
ascii_table.column(1).set_header("H2").set_align(Align::Center);
ascii_table.column(2).set_header("H3").set_align(Align::Right);

let data: Vec<Vec<&dyn Display>> = vec![
    vec![&'v', &'v', &'v'],
    vec![&123, &456, &789, &"abcdef"]
];
ascii_table.print(data);
// ┌─────┬─────┬─────┬──────┐
// │ H1  │ H2  │ H3  │      │
// ├─────┼─────┼─────┼──────┤
// │ v   │  v  │   v │      │
// │ 123 │ 456 │ 789 │ abc+ │
// └─────┴─────┴─────┴──────┘

特性

  • auto_table_width:将 ASCII 表的默认最大宽度设置为终端宽度。
  • color_codes:当存在终端颜色代码时(如来自 colorful 软件包的颜色代码)正确计算字符串的宽度。
  • wide_characters:当存在宽字符时(如 emoli 的宽字符)正确计算字符串的宽度。

依赖

~0–660KB