color message
authorLaurent Mazet <mazet@softndesign.org>
Wed, 22 Feb 2023 23:12:48 +0000 (00:12 +0100)
committerLaurent Mazet <mazet@softndesign.org>
Wed, 22 Feb 2023 23:12:48 +0000 (00:12 +0100)
debug.h

diff --git a/debug.h b/debug.h
index 32dc0cae3b7ce62d18b13728a8418401ebeeaa19..01f4ea3dc1adc1c7fb703b91ea98dc5ba202aab9 100644 (file)
--- a/debug.h
+++ b/debug.h
@@ -3,15 +3,36 @@
 
 /* constants */
 
-#define DEBUG 3
-#define INFO 2
+#define DEBUG   3
+#define INFO    2
 #define WARNING 1
-#define ERROR 0
+#define ERROR   0
+
+/* colors */
+
+#define COLOR_BLACK   30
+#define COLOR_RED     31
+#define COLOR_GREEN   32
+#define COLOR_YELLOW  33
+#define COLOR_BLUE    34
+#define COLOR_MAGENTA 35
+#define COLOR_CYAN    36
+#define COLOR_WHITE   37
+#define COLOR_DEFAULT 39
 
 /* macros */
 
-#define VERBOSE(level, statement...) do { if (level <= verbose) { statement; } } while(0)
+#define VERBOSE(level, statement...) \
+    do { if (level <= verbose) { CHANGE_COLOR(level); statement; CHANGE_COLOR(-1); } } while(0)
 
+#define CHANGE_COLOR(level) \
+    fprintf ((level == ERROR) ? stderr : stdout, \
+             "\1\033[%dm\1", (level == ERROR) ? COLOR_RED : \
+                             (level == WARNING) ? COLOR_YELLOW : \
+                             (level == INFO) ? COLOR_BLUE : \
+                             (level == DEBUG) ? COLOR_GREEN : COLOR_DEFAULT)
+
+/* vim: set ts=4 sw=4 et: */
 /* gobal variables */
 
 extern int verbose;