From cbc9e926d8577fc60b4d49bed1cff2af07b06f1d Mon Sep 17 00:00:00 2001 From: Max Wash Date: Thu, 2 Apr 2026 12:54:08 +0100 Subject: [PATCH] diag: fix printing of snippets containing left brackets --- diag/write/pretty.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/diag/write/pretty.c b/diag/write/pretty.c index b0bad39..33f12cb 100644 --- a/diag/write/pretty.c +++ b/diag/write/pretty.c @@ -4,10 +4,10 @@ #include "../write.h" #include +#include #include #include #include -#include #include #include @@ -67,23 +67,23 @@ struct snippet_print_ctx { #define STREAM_COLOUR_ERROR_B(stream, str) \ if (DIAG_STREAM_FLAG_SET(stream, IVY_DIAG_STREAM_F_COLOUR)) { \ - fx_stream_write_string(str, __STREAM_COLOUR_ERROR, NULL); \ + fx_stream_write_string(str, __STREAM_COLOUR_ERROR, NULL); \ } #define STREAM_COLOUR_WARN_B(stream, str) \ if (DIAG_STREAM_FLAG_SET(stream, IVY_DIAG_STREAM_F_COLOUR)) { \ - fx_stream_write_string(str, __STREAM_COLOUR_WARN, NULL); \ + fx_stream_write_string(str, __STREAM_COLOUR_WARN, NULL); \ } #define STREAM_COLOUR_HINT_B(stream, str) \ if (DIAG_STREAM_FLAG_SET(stream, IVY_DIAG_STREAM_F_COLOUR)) { \ - fx_stream_write_string(str, __STREAM_COLOUR_HINT, NULL); \ + fx_stream_write_string(str, __STREAM_COLOUR_HINT, NULL); \ } #define STREAM_COLOUR_ACCENT_B(stream, str) \ if (DIAG_STREAM_FLAG_SET(stream, IVY_DIAG_STREAM_F_COLOUR)) { \ - fx_stream_write_string(str, __STREAM_COLOUR_ACCENT, NULL); \ + fx_stream_write_string(str, __STREAM_COLOUR_ACCENT, NULL); \ } #define STREAM_COLOUR_RESET_B(stream, str) \ if (DIAG_STREAM_FLAG_SET(stream, IVY_DIAG_STREAM_F_COLOUR)) { \ - fx_stream_write_string(str, __STREAM_COLOUR_RESET, NULL); \ + fx_stream_write_string(str, __STREAM_COLOUR_RESET, NULL); \ } static void print_header( @@ -449,11 +449,15 @@ static void print_snippet( update_highlighting(&printer); diag_stream_putc(stream, c); + if (c == '[') { + diag_stream_putc(stream, c); + } update_underline(&printer); } diag_stream_putc(stream, '\n'); + write_underline(&printer); } }