#grid #textual #no-std #data #ls #format #alignment

no-std nls_term_grid

用于在网格格式中排列文本数据的库,类似于 ls

4 个版本 (2 个重大变更)

0.3.0 2024年4月27日
0.2.0 2024年4月6日
0.1.1 2024年3月29日
0.1.0 2024年3月24日

#280 in 命令行界面

Download history 23/week @ 2024-04-09 133/week @ 2024-04-23 21/week @ 2024-04-30 1/week @ 2024-05-14 21/week @ 2024-05-21 10/week @ 2024-05-28 9/week @ 2024-06-11 4/week @ 2024-06-18

每月264次 下载
nls-ls 中使用

MIT/Apache

38KB
604 行代码(不含注释)

nls_term_grid

CICD Crates.io Docs.rs License

此库以网格格式排列文本数据,类似于 ls


此库是从 nls-ls v0.4.0 中提取出来的。

网格 API 和实现灵感来源于 ogham/term_grid


示例

use nls_term_grid::{Grid, Direction, Alignment};

type GridCell = nls_term_grid::GridCell<String>;

let cells: [GridCell; 15] = [
    GridCell::from(String::from("file10")),
    GridCell::from(String::from("file20")),
    GridCell::from(String::from("file3")),
    GridCell::from(String::from("file400")),
    GridCell::from(String::from("file5")),

    GridCell::from(String::from("file100")),
    GridCell::from(String::from("file2")),
    GridCell::from(String::from("file30")),
    GridCell::from(String::from("file4")),
    GridCell::from(String::from("file500")),

    GridCell::from(String::from("file1")),
    GridCell::from(String::from("file200")),
    GridCell::from(String::from("file300")),
    GridCell::from(String::from("file40")),
    GridCell::from(String::from("file50")),
];

let grid = Grid::new("  ", Direction::LeftToRight, &cells);
let display = grid.fit_into_width(35).unwrap();

assert_eq!(
    display.to_string(),
    "file10   file20   file3   file400\n\
     file5    file100  file2   file30\n\
     file4    file500  file1   file200\n\
     file300  file40   file50\n"
);

依赖项

~375KB