mirror of
https://github.com/odin-lang/Odin.git
synced 2025-12-29 09:24:33 +00:00
Merge pull request #3760 from Feoramund/refactor-show-error-on-line
Refactor `show_error_on_line`
This commit is contained in:
@@ -71,6 +71,12 @@ gb_internal gbString get_file_line_as_string(TokenPos const &pos, i32 *offset_)
|
||||
|
||||
u8 *line_start = pos_offset;
|
||||
u8 *line_end = pos_offset;
|
||||
|
||||
if (offset > 0 && *line_start == '\n') {
|
||||
// Prevent an error token that starts at the boundary of a line that
|
||||
// leads to an empty line from advancing off its line.
|
||||
line_start -= 1;
|
||||
}
|
||||
while (line_start >= start) {
|
||||
if (*line_start == '\n') {
|
||||
line_start += 1;
|
||||
@@ -78,6 +84,11 @@ gb_internal gbString get_file_line_as_string(TokenPos const &pos, i32 *offset_)
|
||||
}
|
||||
line_start -= 1;
|
||||
}
|
||||
if (line_start == start - 1) {
|
||||
// Prevent an error on the first line from stepping behind the boundary
|
||||
// of the text.
|
||||
line_start += 1;
|
||||
}
|
||||
|
||||
while (line_end < end) {
|
||||
if (*line_end == '\n') {
|
||||
|
||||
Reference in New Issue
Block a user