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

Method buffers

cli-table/src/table.rs:110–178  ·  view source on GitHub ↗
(&self, writer: &BufferWriter)

Source from the content-addressed store, hash-verified

108 }
109
110 fn buffers(&self, writer: &BufferWriter) -> Result<Vec<Buffer>> {
111 let table_dimension = self.required_dimension();
112 let row_dimensions: Vec<RowDimension> = table_dimension.clone().into();
113 let mut row_dimensions = row_dimensions.into_iter();
114 let color_spec = self.color_spec();
115
116 let mut buffers = Buffers::new(writer);
117
118 print_horizontal_line(
119 &mut buffers,
120 self.format.border.top.as_ref(),
121 &table_dimension,
122 &self.format,
123 &color_spec,
124 )?;
125
126 if let Some(ref title) = self.title {
127 let title_dimension = row_dimensions.next().unwrap();
128 let mut title_buffers =
129 title.buffers(writer, title_dimension, &self.format, &color_spec)?;
130
131 buffers.append(&mut title_buffers)?;
132
133 if self.format.separator.title.is_some() {
134 print_horizontal_line(
135 &mut buffers,
136 self.format.separator.title.as_ref(),
137 &table_dimension,
138 &self.format,
139 &color_spec,
140 )?
141 } else {
142 print_horizontal_line(
143 &mut buffers,
144 self.format.separator.row.as_ref(),
145 &table_dimension,
146 &self.format,
147 &color_spec,
148 )?
149 }
150 }
151
152 let mut rows = self.rows.iter().zip(row_dimensions).peekable();
153
154 while let Some((row, row_dimension)) = rows.next() {
155 let mut row_buffers = row.buffers(writer, row_dimension, &self.format, &color_spec)?;
156
157 buffers.append(&mut row_buffers)?;
158
159 match rows.peek() {
160 Some(_) => print_horizontal_line(
161 &mut buffers,
162 self.format.separator.row.as_ref(),
163 &table_dimension,
164 &self.format,
165 &color_spec,
166 )?,
167 None => print_horizontal_line(

Callers 2

displayMethod · 0.45
print_writerMethod · 0.45

Calls 6

print_horizontal_lineFunction · 0.85
into_iterMethod · 0.80
appendMethod · 0.80
into_vecMethod · 0.80
required_dimensionMethod · 0.45
color_specMethod · 0.45

Tested by

no test coverage detected