1
Fork 0

do not fail if len(rendered_lines) is == 1

also handle more rendered-lines
This commit is contained in:
Niko Matsakis 2016-05-02 11:37:59 -04:00
parent f359aa2762
commit 9d151a71c0

View file

@ -475,30 +475,34 @@ impl FileInfo {
while let Some(line) = next_line {
if line.annotations.is_empty() { break; }
let mut rendered_line = self.render_line(line);
let mut rendered_lines = self.render_line(line);
assert!(!rendered_lines.is_empty());
if old_school {
match self.primary_span {
Some(span) => {
let lo = codemap.lookup_char_pos(span.lo);
rendered_line[0].text.insert(0, StyledString {
rendered_lines[0].text.insert(0, StyledString {
text: format!(":{} ", lo.line),
style: Style::LineAndColumn,
});
rendered_line[0].text.insert(0, StyledString {
rendered_lines[0].text.insert(0, StyledString {
text: lo.file.name.clone(),
style: Style::FileNameStyle,
});
let gap_amount = rendered_line[0].text[0].text.len() +
rendered_line[0].text[1].text.len();
rendered_line[1].text.insert(0, StyledString {
text: vec![" "; gap_amount].join(""),
style: Style::NoStyle
});
let gap_amount =
rendered_lines[0].text[0].text.len() +
rendered_lines[0].text[1].text.len();
for i in 1..rendered_lines.len() {
rendered_lines[i].text.insert(0, StyledString {
text: vec![" "; gap_amount].join(""),
style: Style::NoStyle
});
}
}
_ =>()
}
}
output.append(&mut rendered_line);
output.append(&mut rendered_lines);
next_line = lines_iter.next();
}