#include #include #include #include #include void errln(struct ctx_location *location, const char *fmt, ...) { fprintf(stderr, "\x1B[1;36m%s:%lu:%lu:\x1B[0m ", location->path, location->line + 1, location->column + 1); fprintf(stderr, "\x1B[1;31mError:\x1B[0m "); va_list ap; va_start(ap, fmt); vfprintf(stderr, fmt, ap); va_end(ap); fprintf(stderr, "\n"); context_print(stderr, location); exit(1); }