To check for updates see the changelog.
```rust use tablefy_derive::Tablefy; use tablefy::Tablefy;
// This struct now implements the tablefy trait
pub struct Basic {
pub something: String,
pub otherthing: i16,
pub newthing: i8,
pub maybe: Option
fn main() { // Creating a vector of structs... let basic = vec![Basic { something: String::from("a"), otherthing: 2, newthing: 3, maybe: None }, Basic { something: String::from("b"), otherthing: 3, newthing: 4, maybe: Some(String::from("x")) }, Basic { something: String::from("c"), otherthing: 5, newthing: 8, maybe: None }];
// Turning them into a Table struct...
let table = tablefy::into_table(&basic);
// Or if you just want the string...
println!("{}", tablefy::into_string(&basic));
} ```
rust
+-----------+------------+----------+-------+
| something | otherthing | newthing | maybe |
+===========+============+==========+=======+
| a | 2 | 3 | |
+-----------+------------+----------+-------+
| b | 3 | 4 | x |
+-----------+------------+----------+-------+
| c | 5 | 8 | |
+-----------+------------+----------+-------+
This crate serves as an extension of prettytable
by specifying a Tablefy
trait in order to turn any struct (whose members implement Display) to turn into
a Table
object.
As a result, this means that prettytable
is a dependency. You won't be able to use this crate without
also adding prettytable
.
Currently there are two major improvements I have in mind for this crate.
{:?}
and {:#?}
instead of {}
License: MPL-2.0