Fixes to span locations

This commit is contained in:
Esteban Kuber 2021-08-17 15:46:42 +00:00
parent a29a624f86
commit 5626346ac9
2 changed files with 9 additions and 11 deletions

View File

@ -1679,15 +1679,14 @@ impl EmitterWriter {
// Colorize addition/replacements with green.
for &SubstitutionHighlight { start, end } in highlight_parts {
// Account for tabs when highlighting (#87972).
// let tabs: usize = line
// .chars()
// .take(start)
// .map(|ch| match ch {
// '\t' => 3,
// _ => 0,
// })
// .sum();
let tabs = 0;
let tabs: usize = line
.chars()
.take(start)
.map(|ch| match ch {
'\t' => 3,
_ => 0,
})
.sum();
buffer.set_style_range(
row_num,
max_line_num_len + 3 + start + tabs,

View File

@ -297,11 +297,11 @@ impl CodeSuggestion {
count -= 1;
}
} else {
acc = 0;
highlights.push(std::mem::take(&mut line_highlight));
let mut count = push_trailing(&mut buf, prev_line.as_ref(), &prev_hi, None);
while count > 0 {
highlights.push(std::mem::take(&mut line_highlight));
acc = 0;
count -= 1;
}
// push lines between the previous and current span (if any)
@ -310,7 +310,6 @@ impl CodeSuggestion {
buf.push_str(line.as_ref());
buf.push('\n');
highlights.push(std::mem::take(&mut line_highlight));
acc = 0;
}
}
if let Some(cur_line) = sf.get_line(cur_lo.line - 1) {