Skip to content

Commit b50f659

Browse files
committed
Simplify rendering, fixing some glitches
Also reducing the number of style changes in the output. This will be important when we add html output.
1 parent 1b2c2f9 commit b50f659

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/mapi/mod.rs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,7 @@ impl Accumulator {
354354
}
355355

356356
fn dump_frame_as_text(&self, data: &[u8], renderer: &mut Renderer) -> io::Result<()> {
357+
renderer.style(Style::Normal);
357358
for byte in data {
358359
match *byte {
359360
b'\n' => {
@@ -366,7 +367,9 @@ impl Accumulator {
366367
b => renderer.put([b])?,
367368
}
368369
}
369-
renderer.clear_line()?;
370+
if !renderer.at_start() {
371+
renderer.nl()?;
372+
}
370373
Ok(())
371374
}
372375

@@ -425,14 +428,14 @@ impl Binary {
425428
const HEX_DIGITS: [u8; 16] = *b"0123456789abcdef";
426429
let mut cur_head = false;
427430
for (i, (byte, style)) in self.row[..self.col].iter().cloned().enumerate() {
431+
renderer.style(Style::Normal);
428432
self.put_sep(i, &mut cur_head, style, renderer)?;
429433

430434
let hi = HEX_DIGITS[byte as usize / 16];
431435
let lo = HEX_DIGITS[byte as usize & 0xF];
432436

433-
renderer.style(style)?;
437+
renderer.style(style);
434438
renderer.put([hi, lo])?;
435-
renderer.style(Style::Normal)?;
436439
}
437440

438441
for i in self.col..16 {
@@ -445,7 +448,7 @@ impl Binary {
445448
self.put_sep(16, &mut cur_head, Style::Normal, renderer)?;
446449

447450
for (byte, style) in &self.row[..self.col] {
448-
renderer.style(*style)?;
451+
renderer.style(*style);
449452
renderer.put(Self::readable(&[*byte]))?;
450453
}
451454

@@ -477,14 +480,14 @@ impl Binary {
477480
match (*in_head, is_head) {
478481
(false, true) => {
479482
renderer.put(&spaces[..extra])?;
480-
let old_style = renderer.style(Style::Header)?;
483+
let old_style = renderer.style(Style::Header);
481484
renderer.put(open)?;
482-
renderer.style(old_style)?;
485+
renderer.style(old_style);
483486
}
484487
(true, false) => {
485-
let old_style = renderer.style(Style::Header)?;
488+
let old_style = renderer.style(Style::Header);
486489
renderer.put(close)?;
487-
renderer.style(old_style)?;
490+
renderer.style(old_style);
488491
renderer.put(&spaces[..extra])?;
489492
}
490493
_ => renderer.put(&spaces[..extra + 1])?,

0 commit comments

Comments
 (0)