text-grid 0.2.0

A library to create formatted plain-text tables.
Documentation

text-grid-rs

Crates.io Docs.rs Build Status

A library to create formatted plain-text tables.

Example

use text_grid::*;

fn main() {
    struct RowData {
        a: u32,
        b: u32,
    }
    impl RowSource for RowData {
        fn fmt_row<'a>(w: &mut impl RowWrite<Source=&'a Self>) {
            w.column("a", |s| s.a);
            w.column("b", |s| s.b);
        }
    }

    let mut g = Grid::new();
    g.push_row(&RowData { a: 300, b: 1 });
    g.push_row(&RowData { a: 2, b: 200 });

    println!("{}", g);
}

Output:

  a  |  b  |
-----|-----|
 300 |   1 |
   2 | 200 |

License

This project is dual licensed under Apache-2.0/MIT. See the two LICENSE-* files for details.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.