3 unstable releases
0.2.1 | Jun 13, 2023 |
---|---|
0.2.0 | Jun 12, 2023 |
0.1.0 | Jun 5, 2023 |
#691 in Cargo plugins
24KB
370 lines
CLI Tables
This is a simple Rust library for generating ASCII tables in a CLI application.
Functions
Name | Description |
---|---|
push |
pushes a record (or row) to the Table object. |
delete |
deletes a record from the Table object. |
get |
gets a record from the Table object. |
set |
sets multiple records as the Table object. |
to_string |
returns a String containing the formatted Table object. |
num_records |
returns the number of records. |
num_fields |
returns the number of fields. |
Usage
- Add
cli-tables
to yourCargo.toml
file:
[dependencies]
cli-tables = "0.2.1"
- Import the
Table
struct:
use cli_tables::Table;
- Create a new
Table
:
let mut table = Table::new();
- Create a record that you want to display in the table:
let header = vec!["#", "First Name", "Last Name", "Date of Birth", "TV Show"];
table.push_row(&header);
- Or create multiple records at once:
let values = vec![
vec!["0", "Pedro", "Pascal", "1996-07-28", "The Last of Us"],
vec!["1", "Belle", "Ramsey", "1991-09-17", "The Last of Us"],
vec!["2", "Scott", "Shepherd", "1990-04-20", "The Last of Us"],
vec!["3", "Nick", "Offerman", "1970-06-26", "The Last of Us"]
];
table.push_rows(&values);
- Print the table with the
to_string
function:
println!("{}", table.to_string());
- The table will look like this:
+---+------------+-----------+---------------+----------------+
| # | First Name | Last Name | Date of Birth | TV Show |
+---+------------+-----------+---------------+----------------+
| 0 | Pedro | Pascal | 1996-07-28 | The Last of Us |
| 1 | Belle | Ramsey | 1991-09-17 | The Last of Us |
| 3 | Scott | Shepherd | 1990-04-20 | The Last of Us |
| 4 | Nick | Offerman | 1970-06-26 | The Last of Us |
+---+------------+-----------+---------------+----------------+
Dependencies
~2–14MB
~130K SLoC