Parser errors should use USE_COLOR as well

This commit is contained in:
Bruce Hill 2025-03-25 13:27:05 -04:00
parent 7994a4835b
commit f5ddf6983d

View File

@ -149,16 +149,16 @@ static PARSER(parse_deserialize);
// //
__attribute__((noreturn, format(printf, 4, 0))) __attribute__((noreturn, format(printf, 4, 0)))
static _Noreturn void vparser_err(parse_ctx_t *ctx, const char *start, const char *end, const char *fmt, va_list args) { static _Noreturn void vparser_err(parse_ctx_t *ctx, const char *start, const char *end, const char *fmt, va_list args) {
if (isatty(STDERR_FILENO) && !getenv("NO_COLOR")) if (USE_COLOR)
fputs("\x1b[31;1;7m", stderr); fputs("\x1b[31;1;7m", stderr);
fprintf(stderr, "%s:%ld.%ld: ", ctx->file->relative_filename, get_line_number(ctx->file, start), fprintf(stderr, "%s:%ld.%ld: ", ctx->file->relative_filename, get_line_number(ctx->file, start),
get_line_column(ctx->file, start)); get_line_column(ctx->file, start));
vfprintf(stderr, fmt, args); vfprintf(stderr, fmt, args);
if (isatty(STDERR_FILENO) && !getenv("NO_COLOR")) if (USE_COLOR)
fputs(" \x1b[m", stderr); fputs(" \x1b[m", stderr);
fputs("\n\n", stderr); fputs("\n\n", stderr);
highlight_error(ctx->file, start, end, "\x1b[31;1;7m", 2, isatty(STDERR_FILENO) && !getenv("NO_COLOR")); highlight_error(ctx->file, start, end, "\x1b[31;1;7m", 2, USE_COLOR);
fputs("\n", stderr); fputs("\n", stderr);
if (getenv("TOMO_STACKTRACE")) if (getenv("TOMO_STACKTRACE"))
@ -321,7 +321,7 @@ static void expect_str(
return; return;
} }
if (isatty(STDERR_FILENO) && !getenv("NO_COLOR")) if (USE_COLOR)
fputs("\x1b[31;1;7m", stderr); fputs("\x1b[31;1;7m", stderr);
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
@ -345,7 +345,7 @@ static void expect_closing(
const char *end = eol < next ? eol : next; const char *end = eol < next ? eol : next;
if (isatty(STDERR_FILENO) && !getenv("NO_COLOR")) if (USE_COLOR)
fputs("\x1b[31;1;7m", stderr); fputs("\x1b[31;1;7m", stderr);
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
@ -358,7 +358,7 @@ static void expect_closing(
spaces(_pos); \ spaces(_pos); \
auto _result = parser(ctx, *_pos); \ auto _result = parser(ctx, *_pos); \
if (!_result) { \ if (!_result) { \
if (isatty(STDERR_FILENO) && !getenv("NO_COLOR")) \ if (USE_COLOR) \
fputs("\x1b[31;1;7m", stderr); \ fputs("\x1b[31;1;7m", stderr); \
parser_err(ctx, start, *_pos, __VA_ARGS__); \ parser_err(ctx, start, *_pos, __VA_ARGS__); \
} \ } \