Compiler errors should use USE_COLOR
This commit is contained in:
parent
dbf6d326ad
commit
7994a4835b
@ -841,7 +841,7 @@ void set_binding(env_t *env, const char *name, type_t *type, CORD code)
|
|||||||
__attribute__((format(printf, 4, 5)))
|
__attribute__((format(printf, 4, 5)))
|
||||||
_Noreturn void compiler_err(file_t *f, const char *start, const char *end, const char *fmt, ...)
|
_Noreturn void compiler_err(file_t *f, const char *start, const char *end, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
if (isatty(STDERR_FILENO) && !getenv("NO_COLOR"))
|
if (USE_COLOR)
|
||||||
fputs("\x1b[31;7;1m", stderr);
|
fputs("\x1b[31;7;1m", stderr);
|
||||||
if (f && start && end)
|
if (f && start && end)
|
||||||
fprintf(stderr, "%s:%ld.%ld: ", f->relative_filename, get_line_number(f, start),
|
fprintf(stderr, "%s:%ld.%ld: ", f->relative_filename, get_line_number(f, start),
|
||||||
@ -850,11 +850,11 @@ _Noreturn void compiler_err(file_t *f, const char *start, const char *end, const
|
|||||||
va_start(args, fmt);
|
va_start(args, fmt);
|
||||||
vfprintf(stderr, fmt, args);
|
vfprintf(stderr, fmt, args);
|
||||||
va_end(args);
|
va_end(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);
|
||||||
if (f && start && end)
|
if (f && start && end)
|
||||||
highlight_error(f, start, end, "\x1b[31;1m", 2, isatty(STDERR_FILENO) && !getenv("NO_COLOR"));
|
highlight_error(f, start, end, "\x1b[31;1m", 2, USE_COLOR);
|
||||||
|
|
||||||
if (getenv("TOMO_STACKTRACE"))
|
if (getenv("TOMO_STACKTRACE"))
|
||||||
print_stack_trace(stderr, 1, 3);
|
print_stack_trace(stderr, 1, 3);
|
||||||
|
@ -96,6 +96,10 @@ int main(int argc, char *argv[])
|
|||||||
if (stat(compiler_path, &compiler_stat) != 0)
|
if (stat(compiler_path, &compiler_stat) != 0)
|
||||||
err(1, "Could not find age of compiler");
|
err(1, "Could not find age of compiler");
|
||||||
|
|
||||||
|
USE_COLOR = getenv("COLOR") ? strcmp(getenv("COLOR"), "1") == 0 : isatty(STDOUT_FILENO);
|
||||||
|
if (getenv("NO_COLOR") && getenv("NO_COLOR")[0] != '\0')
|
||||||
|
USE_COLOR = false;
|
||||||
|
|
||||||
if (register_printf_specifier('T', printf_type, printf_pointer_size))
|
if (register_printf_specifier('T', printf_type, printf_pointer_size))
|
||||||
errx(1, "Couldn't set printf specifier");
|
errx(1, "Couldn't set printf specifier");
|
||||||
if (register_printf_specifier('W', printf_ast, printf_pointer_size))
|
if (register_printf_specifier('W', printf_ast, printf_pointer_size))
|
||||||
|
Loading…
Reference in New Issue
Block a user