summaryrefslogtreecommitdiffstats
path: root/vendor/papergrid/examples/span_usage.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/papergrid/examples/span_usage.rs')
-rw-r--r--vendor/papergrid/examples/span_usage.rs63
1 files changed, 63 insertions, 0 deletions
diff --git a/vendor/papergrid/examples/span_usage.rs b/vendor/papergrid/examples/span_usage.rs
new file mode 100644
index 000000000..d5f963767
--- /dev/null
+++ b/vendor/papergrid/examples/span_usage.rs
@@ -0,0 +1,63 @@
+use papergrid::{
+ colors::NoColors,
+ config::{
+ spanned::SpannedConfig, AlignmentHorizontal, AlignmentVertical, Borders, Entity, Indent,
+ Sides,
+ },
+ dimension::{spanned::SpannedGridDimension, Estimate},
+ grid::peekable::PeekableGrid,
+ records::vec_records::{CellInfo, VecRecords},
+};
+
+fn main() {
+ let mut cfg = SpannedConfig::default();
+ cfg.set_borders(Borders {
+ top: Some('-'),
+ top_left: Some('+'),
+ top_right: Some('+'),
+ top_intersection: Some('+'),
+ bottom: Some('-'),
+ bottom_left: Some('+'),
+ bottom_right: Some('+'),
+ bottom_intersection: Some('+'),
+ horizontal: Some('-'),
+ left_intersection: Some('+'),
+ right_intersection: Some('+'),
+ vertical: Some('|'),
+ left: Some('|'),
+ right: Some('|'),
+ intersection: Some('+'),
+ });
+ cfg.set_column_span((1, 1), 3);
+ cfg.set_row_span((0, 0), 2);
+ cfg.set_alignment_horizontal((1, 0).into(), AlignmentHorizontal::Center);
+ cfg.set_alignment_vertical(Entity::Global, AlignmentVertical::Center);
+ cfg.set_padding(
+ (0, 0).into(),
+ Sides::new(
+ Indent::spaced(4),
+ Indent::spaced(4),
+ Indent::spaced(1),
+ Indent::spaced(1),
+ ),
+ );
+
+ let data = [
+ ["Papergrid", "is a library", "for print tables", "!"],
+ ["", "Just like this", "", ""],
+ ];
+
+ let data = data
+ .iter()
+ .map(|row| row.iter().map(CellInfo::new).collect())
+ .collect();
+
+ let records = VecRecords::new(data);
+
+ let mut dims = SpannedGridDimension::default();
+ dims.estimate(&records, &cfg);
+
+ let grid = PeekableGrid::new(&records, &cfg, &dims, NoColors).to_string();
+
+ println!("{grid}");
+}