diff options
| author | Kevin Newton <kddnewton@gmail.com> | 2024-04-02 08:26:31 -0400 |
|---|---|---|
| committer | Kevin Newton <kddnewton@gmail.com> | 2024-04-03 17:34:12 -0400 |
| commit | 08c841ff63d02a839a858594e1042b6a77bcd4d4 (patch) | |
| tree | 2d7853099c56405beb52beb9f682f8de31c76d5b | |
| parent | 3147404d64d076b1ee361323f1e3c457d0fbfe62 (diff) | |
[ruby/prism] Use tilde for extended error lines
https://github.com/ruby/prism/commit/daaa386a4f
| -rw-r--r-- | prism/prism.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/prism/prism.c b/prism/prism.c index 4c550678c0..b6a00cddf9 100644 --- a/prism/prism.c +++ b/prism/prism.c @@ -20105,10 +20105,16 @@ pm_parser_errors_format(const pm_parser_t *parser, const pm_list_t *error_list, while (column < error->column_end) { if (column < error->column_start) { pm_buffer_append_byte(buffer, ' '); - } else if (colorize) { - pm_buffer_append_string(buffer, PM_COLOR_RED "^" PM_COLOR_RESET, 11); } else { - pm_buffer_append_byte(buffer, '^'); + const uint8_t caret = column == error->column_start ? '^' : '~'; + + if (colorize) { + pm_buffer_append_string(buffer, PM_COLOR_RED, 7); + pm_buffer_append_byte(buffer, caret); + pm_buffer_append_string(buffer, PM_COLOR_RESET, 3); + } else { + pm_buffer_append_byte(buffer, caret); + } } size_t char_width = encoding->char_width(start + column, parser->end - (start + column)); |
