pub trait Formatter {
fn start(
&mut self,
buffer: &mut String,
comment: Option<&FlexStr>,
tables: &[&FlexStr]
);
fn end(&mut self, buffer: &mut String);
fn start_table(
&mut self,
buffer: &mut String,
name: &FlexStr,
comment: Option<&FlexStr>,
columns: &[ColumnInfo]
);
fn end_table(&mut self, buffer: &mut String);
fn start_row(
&mut self,
buffer: &mut String,
name: &FlexStr,
max_width: usize
);
fn end_row(&mut self, buffer: &mut String);
fn used_column(
&mut self,
buffer: &mut String,
time: TimeUnit,
pct: Comparison,
max_width: usize
);
fn unused_column(&mut self, buffer: &mut String, max_width: usize);
}