Return-carriage newlines + properly aligned newline starts

This commit is contained in:
mars 2022-10-11 03:14:49 -06:00
parent 9d68e04d75
commit 3091cc09f4
1 changed files with 2 additions and 2 deletions

View File

@ -124,7 +124,7 @@ impl<'a> AstBuilder<'a> {
let span = self.lexer.span();
if let TokenKind::Newline = token {
self.current_row_idx += 1;
self.current_row_start = span.start;
self.current_row_start = span.end;
} else if let TokenKind::Error = token {
let range = self.span_to_range(span);
break Err(self.with_source(ParseErrorKind::InvalidToken, range));
@ -288,7 +288,7 @@ impl<T: Debug + Display> Display for WithSource<T> {
let spaces: String = std::iter::repeat(" ").take(start).collect();
let carats: String = std::iter::repeat("^").take(end - start).collect();
writeln!(f, " |{}{}", spaces, carats)?;
writeln!(f, " | {}{}", spaces, carats)?;
}
Ok(())