MCPcopy Create free account
hub / github.com/devashishdxt/cli-table / buffers

Method buffers

cli-table/src/row.rs:33–79  ·  view source on GitHub ↗
(
        &self,
        writer: &BufferWriter,
        available_dimension: Dimension,
        format: &TableFormat,
        color_spec: &ColorSpec,
    )

Source from the content-addressed store, hash-verified

31 }
32
33 pub(crate) fn buffers(
34 &self,
35 writer: &BufferWriter,
36 available_dimension: Dimension,
37 format: &TableFormat,
38 color_spec: &ColorSpec,
39 ) -> Result<Vec<Buffer>> {
40 let available_cell_dimensions: Vec<CellDimension> = available_dimension.into();
41
42 let cell_buffers = self
43 .cells
44 .iter()
45 .zip(available_cell_dimensions.into_iter())
46 .map(|(cell, available_dimension)| cell.buffers(writer, available_dimension))
47 .collect::<Result<Vec<Vec<Buffer>>>>()?;
48
49 let cell_buffers = transpose(cell_buffers);
50
51 let mut buffers = Buffers::new(writer);
52
53 for line in cell_buffers {
54 print_vertical_line(&mut buffers, format.border.left.as_ref(), color_spec)?;
55
56 let mut line_buffers = line.into_iter().peekable();
57
58 while let Some(line_buffer) = line_buffers.next() {
59 print_char(&mut buffers, ' ', color_spec)?;
60 buffers.push(line_buffer)?;
61 print_char(&mut buffers, ' ', color_spec)?;
62
63 match line_buffers.peek() {
64 Some(_) => print_vertical_line(
65 &mut buffers,
66 format.separator.column.as_ref(),
67 color_spec,
68 )?,
69 None => {
70 print_vertical_line(&mut buffers, format.border.right.as_ref(), color_spec)?
71 }
72 }
73 }
74
75 println(&mut buffers)?;
76 }
77
78 buffers.into_vec()
79 }
80}
81
82/// Trait to convert raw types into rows

Callers

nothing calls this directly

Calls 7

transposeFunction · 0.85
print_vertical_lineFunction · 0.85
print_charFunction · 0.85
printlnFunction · 0.85
into_iterMethod · 0.80
pushMethod · 0.80
into_vecMethod · 0.80

Tested by

no test coverage detected