[−][src]Crate cli_table
Rust crate for printing tables on command line.
Usage
Add cli-table
in your Cargo.toms
's dependencies
section
ⓘThis example is not tested
[dependencies] cli-table = "0.2"
Each cell in a Table
can be formatted using CellFormat
. CellFormat
can be easily created like this:
ⓘThis example is not tested
// Justifies contents of a cell to right let justify_right = CellFormat::builder().justify(Justify::Right).build(); // Makes contents of a cell bold let bold = CellFormat::builder().bold(true).build();
Table
can be formatted using TableFormat
. It is very easy to create a custom table format, but for
simplicity, this crate provides a few predefined TableFormat
s:
BORDER_COLUMN_ROW
: Format with borders, column separators and row separators (callingDefault::default()
onTableFormat
also returns this format)BORDER_COLUMN_NO_ROW
: Format with borders and column separators (without row separators)BORDER_COLUMN_TITLE
: Format with borders, column separators and title separator (without row separators)BORDER_NO_COLUMN_ROW
: Format with borders and row separators (without column separators)NO_BORDER_COLUMN_ROW
: Format with no borders, column separators and row separatorsNO_BORDER_COLUMN_TITLE
: Format with no borders, column separators and title separator (without row separators)
To create a table, you can use Table::new()
like this:
ⓘThis example is not tested
let table = Table::new( vec![ Row::new(vec![ Cell::new(&format!("Name"), bold), Cell::new("Age (in years)", bold), ]), Row::new(vec![ Cell::new("Tom", Default::default()), Cell::new("10", justify_right), ]), Row::new(vec![ Cell::new("Jerry", Default::default()), Cell::new("15", justify_right), ]), Row::new(vec![ Cell::new("Scooby Doo", Default::default()), Cell::new("25", justify_right), ]), ], Default::default(), );
To print this table on stdout
, you can call table.print_stdout()
.
Below is the output of the table we created just now:
ⓘThis example is not tested
+------------+----------------+ | Name | Age (in years) | <-- This row will appear in bold +------------+----------------+ | Tom | 10 | +------------+----------------+ | Jerry | 15 | +------------+----------------+ | Scooby Doo | 25 | +------------+----------------+
Modules
format | Utilities for formatting of a |
Structs
Cell | A |
Row | A |
Table | Struct for building a |