From 52a8be1d0c0648036337329dbccb6d5faa9ec96b Mon Sep 17 00:00:00 2001 From: Avril Date: Fri, 27 Nov 2020 15:00:51 +0000 Subject: [PATCH] pretty panic and debug --- lean/include/colours.h | 28 ++++++++++++++++++++++++++++ lean/src/debug.c | 4 +++- lean/src/panic.c | 4 +++- 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 lean/include/colours.h diff --git a/lean/include/colours.h b/lean/include/colours.h new file mode 100644 index 0000000..604635e --- /dev/null +++ b/lean/include/colours.h @@ -0,0 +1,28 @@ +// https://stackoverflow.com/a/30304782 + +#ifndef _COLORS_ +#define _COLORS_ + +/* FOREGROUND */ +#define RST "\x1B[0m" +#define KRED "\x1B[31m" +#define KGRN "\x1B[32m" +#define KYEL "\x1B[33m" +#define KBLU "\x1B[34m" +#define KMAG "\x1B[35m" +#define KCYN "\x1B[36m" +#define KWHT "\x1B[37m" + +#define FRED(x) KRED x RST +#define FGRN(x) KGRN x RST +#define FYEL(x) KYEL x RST +#define FBLU(x) KBLU x RST +#define FMAG(x) KMAG x RST +#define FCYN(x) KCYN x RST +#define FWHT(x) KWHT x RST + +#define BOLD(x) "\x1B[1m" x RST +#define UNDL(x) "\x1B[4m" x RST + +#endif /* _COLORS_ */ + diff --git a/lean/src/debug.c b/lean/src/debug.c index 0755ed2..c830c4b 100644 --- a/lean/src/debug.c +++ b/lean/src/debug.c @@ -4,12 +4,14 @@ #include +#include + void _do_dprintf(struct debuginfo info, const char* fmt, ...) { #ifdef DEBUG va_list li; va_start(li, fmt); - fprintf(stderr, "[dbg @%s->%s:%d]: ", info.file, info.function,info.line); + fprintf(stderr, "["FGRN("dbg")" " FYEL("@") BOLD("%s") "->" FWHT("%s") ":" FYEL("%d") "]: ", info.file, info.function,info.line); vfprintf(stderr, fmt, li); fprintf(stderr, "\n"); va_end(li); diff --git a/lean/src/panic.c b/lean/src/panic.c index 298e193..20a10b1 100644 --- a/lean/src/panic.c +++ b/lean/src/panic.c @@ -4,11 +4,13 @@ #include +#include + __attribute__((noreturn)) void _do_panic(struct panicinfo info, const char* fmt, ...) { va_list li; va_start(li, fmt); - fprintf(stderr, "[!] (%s->%s:%d) fatal error: ", info.file, info.function, info.line); + fprintf(stderr, BOLD(UNDL(FRED("[!]"))) " (" BOLD("%s") "->" BOLD(FRED("%s")) ":" FYEL("%d") ") " BOLD(FRED("fatal error")) ": ", info.file, info.function, info.line); vfprintf(stderr, fmt, li); fprintf(stderr, "\n"); va_end(li);