nls_term_grid

Crates.ionls_term_grid
lib.rsnls_term_grid
version0.3.0
sourcesrc
created_at2024-03-24 14:16:21.070911
updated_at2024-04-27 08:32:39.988597
descriptionLibrary for arranging textual data in a grid format similar to ls
homepagehttps://github.com/bydlw98/nls_term_grid
repositoryhttps://github.com/bydlw98/nls_term_grid
max_upload_size
id1184407
size49,466
(bydlw98)

documentation

README

nls_term_grid

CICD Crates.io Docs.rs License

This library arranges textual data in a grid format similar to ls


This library is extracted from nls-ls v0.4.0.

The Grid API and Implementation is inspired by ogham/term_grid


Example

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"
);
Commit count: 20

cargo fmt