pub struct FormatBuilder { /* private fields */ }
Expand description
A builder to create a TableFormat
Implementations§
Source§impl FormatBuilder
impl FormatBuilder
Sourcepub fn new() -> FormatBuilder
pub fn new() -> FormatBuilder
Creates a new builder
Examples found in repository?
examples/formatting.rs (line 53)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
fn main() {
let mut table = table!(["Value 1", "Value 2"], ["Value three", "Value four"]);
table.set_titles(row!["Title 1", "Title 2"]);
// Print
// +-------------+------------+
// | Title 1 | Title 2 |
// +-------------+------------+
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("FORMAT_NO_LINESEP_WITH_TITLE :");
table.set_format(*format::consts::FORMAT_NO_LINESEP_WITH_TITLE);
table.printstd();
println!("");
// Print
// -------------------------
// Title 1 Title 2
// =========================
// Value 1 Value 2
// -------------------------
// Value three Value four
// -------------------------
println!("FORMAT_NO_COLSEP :");
table.set_format(*format::consts::FORMAT_NO_COLSEP);
table.printstd();
println!("");
// Print
// +-------------------------+
// | Title 1 Title 2 |
// +=========================+
// | Value 1 Value 2 |
// | Value three Value four |
// +-------------------------+
println!("FORMAT_BORDERS_ONLY :");
table.set_format(*format::consts::FORMAT_BORDERS_ONLY);
table.printstd();
println!("");
// Custom format can be implemented using `prettytable::format::FormatBuilder`
// Example to print
// +-------------+------------+
// | Title 1 | Title 2 |
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("Custom :");
table.set_format(
format::FormatBuilder::new()
.column_separator('|')
.borders('|')
.separators(
&[format::LinePosition::Top, format::LinePosition::Bottom],
format::LineSeparator::new('-', '+', '+', '+'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode
// Example to print
// ┌─────────────┬────────────┐
// │ Title 1 │ Title 2 │
// ├─────────────┼────────────┤
// │ Value 1 │ Value 2 │
// ├─────────────┼────────────┤
// │ Value three │ Value four │
// └─────────────┴────────────┘
println!("With unicode:");
table.set_format(
format::FormatBuilder::new()
.column_separator('│')
.borders('│')
.separators(
&[format::LinePosition::Top],
format::LineSeparator::new('─', '┬', '┌', '┐'),
)
.separators(
&[format::LinePosition::Intern],
format::LineSeparator::new('─', '┼', '├', '┤'),
)
.separators(
&[format::LinePosition::Bottom],
format::LineSeparator::new('─', '┴', '└', '┘'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode and different padding
// Example to print
// ┌───────────────┬──────────────┐
// │ Title 1 │ Title 2 │
// ├───────────────┼──────────────┤
// │ Value 1 │ Value 2 │
// ├───────────────┼──────────────┤
// │ Value three │ Value four │
// └───────────────┴──────────────┘
// Change individual format settings
println!("With unicode and padding:");
table.get_format().padding(2, 2);
table.printstd();
}
Sourcepub fn padding(self, left: usize, right: usize) -> Self
pub fn padding(self, left: usize, right: usize) -> Self
Set left and right padding
Examples found in repository?
examples/formatting.rs (line 60)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
fn main() {
let mut table = table!(["Value 1", "Value 2"], ["Value three", "Value four"]);
table.set_titles(row!["Title 1", "Title 2"]);
// Print
// +-------------+------------+
// | Title 1 | Title 2 |
// +-------------+------------+
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("FORMAT_NO_LINESEP_WITH_TITLE :");
table.set_format(*format::consts::FORMAT_NO_LINESEP_WITH_TITLE);
table.printstd();
println!("");
// Print
// -------------------------
// Title 1 Title 2
// =========================
// Value 1 Value 2
// -------------------------
// Value three Value four
// -------------------------
println!("FORMAT_NO_COLSEP :");
table.set_format(*format::consts::FORMAT_NO_COLSEP);
table.printstd();
println!("");
// Print
// +-------------------------+
// | Title 1 Title 2 |
// +=========================+
// | Value 1 Value 2 |
// | Value three Value four |
// +-------------------------+
println!("FORMAT_BORDERS_ONLY :");
table.set_format(*format::consts::FORMAT_BORDERS_ONLY);
table.printstd();
println!("");
// Custom format can be implemented using `prettytable::format::FormatBuilder`
// Example to print
// +-------------+------------+
// | Title 1 | Title 2 |
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("Custom :");
table.set_format(
format::FormatBuilder::new()
.column_separator('|')
.borders('|')
.separators(
&[format::LinePosition::Top, format::LinePosition::Bottom],
format::LineSeparator::new('-', '+', '+', '+'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode
// Example to print
// ┌─────────────┬────────────┐
// │ Title 1 │ Title 2 │
// ├─────────────┼────────────┤
// │ Value 1 │ Value 2 │
// ├─────────────┼────────────┤
// │ Value three │ Value four │
// └─────────────┴────────────┘
println!("With unicode:");
table.set_format(
format::FormatBuilder::new()
.column_separator('│')
.borders('│')
.separators(
&[format::LinePosition::Top],
format::LineSeparator::new('─', '┬', '┌', '┐'),
)
.separators(
&[format::LinePosition::Intern],
format::LineSeparator::new('─', '┼', '├', '┤'),
)
.separators(
&[format::LinePosition::Bottom],
format::LineSeparator::new('─', '┴', '└', '┘'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode and different padding
// Example to print
// ┌───────────────┬──────────────┐
// │ Title 1 │ Title 2 │
// ├───────────────┼──────────────┤
// │ Value 1 │ Value 2 │
// ├───────────────┼──────────────┤
// │ Value three │ Value four │
// └───────────────┴──────────────┘
// Change individual format settings
println!("With unicode and padding:");
table.get_format().padding(2, 2);
table.printstd();
}
Sourcepub fn column_separator(self, separator: char) -> Self
pub fn column_separator(self, separator: char) -> Self
Set the character used for internal column separation
Examples found in repository?
examples/formatting.rs (line 54)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
fn main() {
let mut table = table!(["Value 1", "Value 2"], ["Value three", "Value four"]);
table.set_titles(row!["Title 1", "Title 2"]);
// Print
// +-------------+------------+
// | Title 1 | Title 2 |
// +-------------+------------+
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("FORMAT_NO_LINESEP_WITH_TITLE :");
table.set_format(*format::consts::FORMAT_NO_LINESEP_WITH_TITLE);
table.printstd();
println!("");
// Print
// -------------------------
// Title 1 Title 2
// =========================
// Value 1 Value 2
// -------------------------
// Value three Value four
// -------------------------
println!("FORMAT_NO_COLSEP :");
table.set_format(*format::consts::FORMAT_NO_COLSEP);
table.printstd();
println!("");
// Print
// +-------------------------+
// | Title 1 Title 2 |
// +=========================+
// | Value 1 Value 2 |
// | Value three Value four |
// +-------------------------+
println!("FORMAT_BORDERS_ONLY :");
table.set_format(*format::consts::FORMAT_BORDERS_ONLY);
table.printstd();
println!("");
// Custom format can be implemented using `prettytable::format::FormatBuilder`
// Example to print
// +-------------+------------+
// | Title 1 | Title 2 |
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("Custom :");
table.set_format(
format::FormatBuilder::new()
.column_separator('|')
.borders('|')
.separators(
&[format::LinePosition::Top, format::LinePosition::Bottom],
format::LineSeparator::new('-', '+', '+', '+'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode
// Example to print
// ┌─────────────┬────────────┐
// │ Title 1 │ Title 2 │
// ├─────────────┼────────────┤
// │ Value 1 │ Value 2 │
// ├─────────────┼────────────┤
// │ Value three │ Value four │
// └─────────────┴────────────┘
println!("With unicode:");
table.set_format(
format::FormatBuilder::new()
.column_separator('│')
.borders('│')
.separators(
&[format::LinePosition::Top],
format::LineSeparator::new('─', '┬', '┌', '┐'),
)
.separators(
&[format::LinePosition::Intern],
format::LineSeparator::new('─', '┼', '├', '┤'),
)
.separators(
&[format::LinePosition::Bottom],
format::LineSeparator::new('─', '┴', '└', '┘'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode and different padding
// Example to print
// ┌───────────────┬──────────────┐
// │ Title 1 │ Title 2 │
// ├───────────────┼──────────────┤
// │ Value 1 │ Value 2 │
// ├───────────────┼──────────────┤
// │ Value three │ Value four │
// └───────────────┴──────────────┘
// Change individual format settings
println!("With unicode and padding:");
table.get_format().padding(2, 2);
table.printstd();
}
Sourcepub fn borders(self, border: char) -> Self
pub fn borders(self, border: char) -> Self
Set the character used for table borders
Examples found in repository?
examples/formatting.rs (line 55)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
fn main() {
let mut table = table!(["Value 1", "Value 2"], ["Value three", "Value four"]);
table.set_titles(row!["Title 1", "Title 2"]);
// Print
// +-------------+------------+
// | Title 1 | Title 2 |
// +-------------+------------+
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("FORMAT_NO_LINESEP_WITH_TITLE :");
table.set_format(*format::consts::FORMAT_NO_LINESEP_WITH_TITLE);
table.printstd();
println!("");
// Print
// -------------------------
// Title 1 Title 2
// =========================
// Value 1 Value 2
// -------------------------
// Value three Value four
// -------------------------
println!("FORMAT_NO_COLSEP :");
table.set_format(*format::consts::FORMAT_NO_COLSEP);
table.printstd();
println!("");
// Print
// +-------------------------+
// | Title 1 Title 2 |
// +=========================+
// | Value 1 Value 2 |
// | Value three Value four |
// +-------------------------+
println!("FORMAT_BORDERS_ONLY :");
table.set_format(*format::consts::FORMAT_BORDERS_ONLY);
table.printstd();
println!("");
// Custom format can be implemented using `prettytable::format::FormatBuilder`
// Example to print
// +-------------+------------+
// | Title 1 | Title 2 |
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("Custom :");
table.set_format(
format::FormatBuilder::new()
.column_separator('|')
.borders('|')
.separators(
&[format::LinePosition::Top, format::LinePosition::Bottom],
format::LineSeparator::new('-', '+', '+', '+'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode
// Example to print
// ┌─────────────┬────────────┐
// │ Title 1 │ Title 2 │
// ├─────────────┼────────────┤
// │ Value 1 │ Value 2 │
// ├─────────────┼────────────┤
// │ Value three │ Value four │
// └─────────────┴────────────┘
println!("With unicode:");
table.set_format(
format::FormatBuilder::new()
.column_separator('│')
.borders('│')
.separators(
&[format::LinePosition::Top],
format::LineSeparator::new('─', '┬', '┌', '┐'),
)
.separators(
&[format::LinePosition::Intern],
format::LineSeparator::new('─', '┼', '├', '┤'),
)
.separators(
&[format::LinePosition::Bottom],
format::LineSeparator::new('─', '┴', '└', '┘'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode and different padding
// Example to print
// ┌───────────────┬──────────────┐
// │ Title 1 │ Title 2 │
// ├───────────────┼──────────────┤
// │ Value 1 │ Value 2 │
// ├───────────────┼──────────────┤
// │ Value three │ Value four │
// └───────────────┴──────────────┘
// Change individual format settings
println!("With unicode and padding:");
table.get_format().padding(2, 2);
table.printstd();
}
Sourcepub fn left_border(self, border: char) -> Self
pub fn left_border(self, border: char) -> Self
Set the character used for left table border
Sourcepub fn right_border(self, border: char) -> Self
pub fn right_border(self, border: char) -> Self
Set the character used for right table border
Sourcepub fn separator(self, what: LinePosition, separator: LineSeparator) -> Self
pub fn separator(self, what: LinePosition, separator: LineSeparator) -> Self
Set a line separator format
Sourcepub fn separators(self, what: &[LinePosition], separator: LineSeparator) -> Self
pub fn separators(self, what: &[LinePosition], separator: LineSeparator) -> Self
Set separator format for multiple kind of line separators
Examples found in repository?
examples/formatting.rs (lines 56-59)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
fn main() {
let mut table = table!(["Value 1", "Value 2"], ["Value three", "Value four"]);
table.set_titles(row!["Title 1", "Title 2"]);
// Print
// +-------------+------------+
// | Title 1 | Title 2 |
// +-------------+------------+
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("FORMAT_NO_LINESEP_WITH_TITLE :");
table.set_format(*format::consts::FORMAT_NO_LINESEP_WITH_TITLE);
table.printstd();
println!("");
// Print
// -------------------------
// Title 1 Title 2
// =========================
// Value 1 Value 2
// -------------------------
// Value three Value four
// -------------------------
println!("FORMAT_NO_COLSEP :");
table.set_format(*format::consts::FORMAT_NO_COLSEP);
table.printstd();
println!("");
// Print
// +-------------------------+
// | Title 1 Title 2 |
// +=========================+
// | Value 1 Value 2 |
// | Value three Value four |
// +-------------------------+
println!("FORMAT_BORDERS_ONLY :");
table.set_format(*format::consts::FORMAT_BORDERS_ONLY);
table.printstd();
println!("");
// Custom format can be implemented using `prettytable::format::FormatBuilder`
// Example to print
// +-------------+------------+
// | Title 1 | Title 2 |
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("Custom :");
table.set_format(
format::FormatBuilder::new()
.column_separator('|')
.borders('|')
.separators(
&[format::LinePosition::Top, format::LinePosition::Bottom],
format::LineSeparator::new('-', '+', '+', '+'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode
// Example to print
// ┌─────────────┬────────────┐
// │ Title 1 │ Title 2 │
// ├─────────────┼────────────┤
// │ Value 1 │ Value 2 │
// ├─────────────┼────────────┤
// │ Value three │ Value four │
// └─────────────┴────────────┘
println!("With unicode:");
table.set_format(
format::FormatBuilder::new()
.column_separator('│')
.borders('│')
.separators(
&[format::LinePosition::Top],
format::LineSeparator::new('─', '┬', '┌', '┐'),
)
.separators(
&[format::LinePosition::Intern],
format::LineSeparator::new('─', '┼', '├', '┤'),
)
.separators(
&[format::LinePosition::Bottom],
format::LineSeparator::new('─', '┴', '└', '┘'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode and different padding
// Example to print
// ┌───────────────┬──────────────┐
// │ Title 1 │ Title 2 │
// ├───────────────┼──────────────┤
// │ Value 1 │ Value 2 │
// ├───────────────┼──────────────┤
// │ Value three │ Value four │
// └───────────────┴──────────────┘
// Change individual format settings
println!("With unicode and padding:");
table.get_format().padding(2, 2);
table.printstd();
}
Sourcepub fn indent(self, spaces: usize) -> Self
pub fn indent(self, spaces: usize) -> Self
Set global indentation in spaces used when rendering a table
Sourcepub fn build(&self) -> TableFormat
pub fn build(&self) -> TableFormat
Return the generated TableFormat
Examples found in repository?
examples/formatting.rs (line 61)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
fn main() {
let mut table = table!(["Value 1", "Value 2"], ["Value three", "Value four"]);
table.set_titles(row!["Title 1", "Title 2"]);
// Print
// +-------------+------------+
// | Title 1 | Title 2 |
// +-------------+------------+
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("FORMAT_NO_LINESEP_WITH_TITLE :");
table.set_format(*format::consts::FORMAT_NO_LINESEP_WITH_TITLE);
table.printstd();
println!("");
// Print
// -------------------------
// Title 1 Title 2
// =========================
// Value 1 Value 2
// -------------------------
// Value three Value four
// -------------------------
println!("FORMAT_NO_COLSEP :");
table.set_format(*format::consts::FORMAT_NO_COLSEP);
table.printstd();
println!("");
// Print
// +-------------------------+
// | Title 1 Title 2 |
// +=========================+
// | Value 1 Value 2 |
// | Value three Value four |
// +-------------------------+
println!("FORMAT_BORDERS_ONLY :");
table.set_format(*format::consts::FORMAT_BORDERS_ONLY);
table.printstd();
println!("");
// Custom format can be implemented using `prettytable::format::FormatBuilder`
// Example to print
// +-------------+------------+
// | Title 1 | Title 2 |
// | Value 1 | Value 2 |
// | Value three | Value four |
// +-------------+------------+
println!("Custom :");
table.set_format(
format::FormatBuilder::new()
.column_separator('|')
.borders('|')
.separators(
&[format::LinePosition::Top, format::LinePosition::Bottom],
format::LineSeparator::new('-', '+', '+', '+'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode
// Example to print
// ┌─────────────┬────────────┐
// │ Title 1 │ Title 2 │
// ├─────────────┼────────────┤
// │ Value 1 │ Value 2 │
// ├─────────────┼────────────┤
// │ Value three │ Value four │
// └─────────────┴────────────┘
println!("With unicode:");
table.set_format(
format::FormatBuilder::new()
.column_separator('│')
.borders('│')
.separators(
&[format::LinePosition::Top],
format::LineSeparator::new('─', '┬', '┌', '┐'),
)
.separators(
&[format::LinePosition::Intern],
format::LineSeparator::new('─', '┼', '├', '┤'),
)
.separators(
&[format::LinePosition::Bottom],
format::LineSeparator::new('─', '┴', '└', '┘'),
)
.padding(1, 1)
.build(),
);
table.printstd();
// Customized format with unicode and different padding
// Example to print
// ┌───────────────┬──────────────┐
// │ Title 1 │ Title 2 │
// ├───────────────┼──────────────┤
// │ Value 1 │ Value 2 │
// ├───────────────┼──────────────┤
// │ Value three │ Value four │
// └───────────────┴──────────────┘
// Change individual format settings
println!("With unicode and padding:");
table.get_format().padding(2, 2);
table.printstd();
}
Trait Implementations§
Source§impl Default for FormatBuilder
impl Default for FormatBuilder
Source§fn default() -> FormatBuilder
fn default() -> FormatBuilder
Returns the “default value” for a type. Read more
Source§impl From<TableFormat> for FormatBuilder
impl From<TableFormat> for FormatBuilder
Source§fn from(fmt: TableFormat) -> Self
fn from(fmt: TableFormat) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for FormatBuilder
impl RefUnwindSafe for FormatBuilder
impl Send for FormatBuilder
impl Sync for FormatBuilder
impl Unpin for FormatBuilder
impl UnwindSafe for FormatBuilder
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