#table #terminal #ascii #pretty #pretty-print #cli

text-tables

A terminal/text table prettifier with no dependencies

7 releases

Uses old Rust 2015

0.3.1 Mar 3, 2019
0.3.0 Mar 3, 2019
0.2.3 Feb 27, 2018
0.1.0 Feb 27, 2018

#1693 in Text processing

Download history 13/week @ 2024-01-14 24/week @ 2024-01-21 70/week @ 2024-01-28 49/week @ 2024-02-04 42/week @ 2024-02-11 15/week @ 2024-02-18 50/week @ 2024-02-25 54/week @ 2024-03-03 27/week @ 2024-03-10 21/week @ 2024-03-17 23/week @ 2024-03-24 145/week @ 2024-03-31

225 downloads per month
Used in github-analytics

MIT/Apache

8KB
113 lines

Text-tables

This library provides very simple table printing using text characters. It has no dependencies besides std. I'm interested in making it no_std if this is possible, contributions welcome!

Licensed under MIT or Apache-2.0 at your discretion. Message me if this isn't sufficient.

Example

extern crate text_tables;

use std::str;
use std::io;

fn main() {
    // can be vec or slices
    let data = [["A", "2x2"], ["pretty", "table"]];
    // we can either render to an array...
    let mut out = Vec::new();
    text_tables::render(&mut out, data).unwrap();
    println!("{}", str::from_utf8(&out).unwrap());
    // ...or we can use `Write` streams directly
    text_tables::render(&mut io::stdout(), data).unwrap();
}

outputs

+--------+-------+
| A      | 2x2   |
+--------+-------+
| pretty | table |
+--------+-------+

lib.rs:

A small library for pretty-printing tables in monospace text.

Example

let data = [["Some", "printable"], ["data", "fields"]];
let mut out = Vec::new();
text_tables::render(&mut out, data).unwrap();
println!("{}", ::std::str::from_utf8(&out).unwrap());

No runtime deps