Struct prettytable::format::FormatBuilder
source · 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.