Skip to content

Commit 1e6d164

Browse files
Create new Term::render_content method
1 parent e514fbf commit 1e6d164

1 file changed

Lines changed: 27 additions & 23 deletions

File tree

crates/anstyle-svg/src/lib.rs

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -245,30 +245,8 @@ impl Term {
245245
writeln!(&mut buffer, r#"<body class="{BG}">"#).unwrap();
246246
}
247247
writeln!(&mut buffer).unwrap();
248-
249-
writeln!(&mut buffer, r#" <div class="container {FG}">"#).unwrap();
250-
for line in &styled_lines {
251-
if line.iter().any(|e| e.style.get_bg_color().is_some()) {
252-
for element in line {
253-
if element.text.is_empty() {
254-
continue;
255-
}
256-
write_bg_span(&mut buffer, "span", &element.style, &element.text);
257-
}
258-
writeln!(&mut buffer, r#"<br />"#).unwrap();
259-
}
260-
261-
for element in line {
262-
if element.text.is_empty() {
263-
continue;
264-
}
265-
write_fg_span(&mut buffer, "span", element, &element.text);
266-
}
267-
writeln!(&mut buffer, r#"<br />"#).unwrap();
268-
}
269-
writeln!(&mut buffer, r#" </div>"#).unwrap();
248+
self.render_content(&mut buffer, styled_lines);
270249
writeln!(&mut buffer).unwrap();
271-
272250
writeln!(&mut buffer, r#"</body>"#).unwrap();
273251
writeln!(&mut buffer, r#"</html>"#).unwrap();
274252
buffer
@@ -312,6 +290,32 @@ impl Term {
312290
writeln!(buffer, r#" line-height: {LINE_HEIGHT}px;"#).unwrap();
313291
writeln!(buffer, r#" }}"#).unwrap();
314292
}
293+
294+
fn render_content(&self, buffer: &mut String, styled_lines: Vec<Vec<adapter::Element>>) {
295+
use std::fmt::Write as _;
296+
297+
writeln!(buffer, r#" <div class="container {FG}">"#).unwrap();
298+
for line in &styled_lines {
299+
if line.iter().any(|e| e.style.get_bg_color().is_some()) {
300+
for element in line {
301+
if element.text.is_empty() {
302+
continue;
303+
}
304+
write_bg_span(buffer, "span", &element.style, &element.text);
305+
}
306+
writeln!(buffer, r#"<br />"#).unwrap();
307+
}
308+
309+
for element in line {
310+
if element.text.is_empty() {
311+
continue;
312+
}
313+
write_fg_span(buffer, "span", element, &element.text);
314+
}
315+
writeln!(buffer, r#"<br />"#).unwrap();
316+
}
317+
writeln!(buffer, r#" </div>"#).unwrap();
318+
}
315319
}
316320

317321
const FG_COLOR: anstyle::Color = anstyle::Color::Ansi(anstyle::AnsiColor::White);

0 commit comments

Comments
 (0)