grid_demo/
grid_demo.rs

1use nu_term_grid::grid::{Alignment, Cell, Direction, Filling, Grid, GridOptions};
2
3// This produces:
4//
5//  1 |  128 |   16384 |   2097152 |   268435456 |   34359738368 |   4398046511104
6//  2 |  256 |   32768 |   4194304 |   536870912 |   68719476736 |   8796093022208
7//  4 |  512 |   65536 |   8388608 |  1073741824 |  137438953472 |  17592186044416
8//  8 | 1024 |  131072 |  16777216 |  2147483648 |  274877906944 |  35184372088832
9// 16 | 2048 |  262144 |  33554432 |  4294967296 |  549755813888 |  70368744177664
10// 32 | 4096 |  524288 |  67108864 |  8589934592 | 1099511627776 | 140737488355328
11// 64 | 8192 | 1048576 | 134217728 | 17179869184 | 2199023255552 |
12
13fn main() {
14    let mut grid = Grid::new(GridOptions {
15        direction: Direction::TopToBottom,
16        filling: Filling::Text(" | ".into()),
17    });
18
19    for i in 0..48 {
20        let mut cell = Cell::from(format!("{}", 2_isize.pow(i)));
21        cell.alignment = Alignment::Right;
22        grid.add(cell)
23    }
24
25    if let Some(grid_display) = grid.fit_into_width(80) {
26        println!("{grid_display}");
27    } else {
28        println!("Couldn't fit grid into 80 columns!");
29    }
30}