prettytable-rs
prettytable-rs copied to clipboard
Apply dynamic styles to nested table
Is it possible to have dynamic styles (e.g. different color based on the contents) for nested tables? I couldn't get it to work and it doesn't seem to be possible because the table is print to a string without styles when nested.
Could we sketch some examples of the desired minimal / ideal support(s) ?
Ideally it would be something like this:
pub fn bool_icon(v: bool) -> Cell {
if v {
cell![Fgb -> "✔"]
} else {
cell![Frb -> "✘"]
}
}
...
subtable.add_row(row![ "Enabled?", bool_icon(d.can_connect) ]);
table.add_row(row![ "Details", subtable ]);
...
Or without macros if not possible. When it's not inside a subtable I can workaround it by not using macros:
table.add_row(Row::new(vec![
Cell::new("Enabled?"),
bool_icon(d.can_connect),
]));
But with a subtable this doesn't work because it is converted to a string without styles first.
Would you like to try a PR ?
Sure, I'd love to. I can't make promises on a time frame but I'll take a look when possible