pub struct Format<F> { /* private fields */ }
Expand description
A formatting function of particular cells on a Table
.
Implementations§
Source§impl Format<()>
impl Format<()>
Sourcepub fn new<F>(f: F) -> Format<F>
pub fn new<F>(f: F) -> Format<F>
This function creates a new Format
instance, so
it can be used as a grid setting.
§Example
use tabled::{Table, format::Format, object::Rows, Modify};
let data = vec![
(0, "Grodno", true),
(1, "Minsk", true),
(2, "Hamburg", false),
(3, "Brest", true),
];
let table = Table::new(&data)
.with(Modify::new(Rows::new(1..)).with(Format::new(|s| format!(": {} :", s))))
.to_string();
assert_eq!(table, "+-------+-------------+-----------+\n\
| i32 | &str | bool |\n\
+-------+-------------+-----------+\n\
| : 0 : | : Grodno : | : true : |\n\
+-------+-------------+-----------+\n\
| : 1 : | : Minsk : | : true : |\n\
+-------+-------------+-----------+\n\
| : 2 : | : Hamburg : | : false : |\n\
+-------+-------------+-----------+\n\
| : 3 : | : Brest : | : true : |\n\
+-------+-------------+-----------+");
Sourcepub fn with_index<F>(f: F) -> FormatWithIndex<F>
pub fn with_index<F>(f: F) -> FormatWithIndex<F>
This function creates a new FormatWithIndex
, so
it can be used as a grid setting.
It’s different from Format::new
as it also provides a row and column index.
§Example
use tabled::{Table, format::Format, object::Rows, Modify};
let data = vec![
(0, "Grodno", true),
(1, "Minsk", true),
(2, "Hamburg", false),
(3, "Brest", true),
];
let table = Table::new(&data)
.with(Modify::new(Rows::single(0)).with(Format::with_index(|_, (_, column)| column.to_string())))
.to_string();
assert_eq!(table, "+---+---------+-------+\n\
| 0 | 1 | 2 |\n\
+---+---------+-------+\n\
| 0 | Grodno | true |\n\
+---+---------+-------+\n\
| 1 | Minsk | true |\n\
+---+---------+-------+\n\
| 2 | Hamburg | false |\n\
+---+---------+-------+\n\
| 3 | Brest | true |\n\
+---+---------+-------+");
Sourcepub fn multiline<F>(f: F) -> Format<impl Fn(&str) -> String>
pub fn multiline<F>(f: F) -> Format<impl Fn(&str) -> String>
Multiline a helper function for changing multiline content of cell. Using this formatting applied for all rows not to a string as a whole.
use tabled::{Table, format::Format, object::Segment, Modify};
let data: Vec<&'static str> = Vec::new();
let table = Table::new(&data)
.with(Modify::new(Segment::all()).with(Format::multiline(|s| format!("{}", s))))
.to_string();
Trait Implementations§
Source§impl<F, R> CellOption<R> for Format<F>
impl<F, R> CellOption<R> for Format<F>
Source§fn change_cell(&mut self, table: &mut Table<R>, entity: Entity)
fn change_cell(&mut self, table: &mut Table<R>, entity: Entity)
Modification function of a single cell.
Auto Trait Implementations§
impl<F> Freeze for Format<F>where
F: Freeze,
impl<F> RefUnwindSafe for Format<F>where
F: RefUnwindSafe,
impl<F> Send for Format<F>where
F: Send,
impl<F> Sync for Format<F>where
F: Sync,
impl<F> Unpin for Format<F>where
F: Unpin,
impl<F> UnwindSafe for Format<F>where
F: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more