Merge branch 'master' of https://secure.softndesign.org/git/calc
[calc.git] / debug.h
diff --git a/debug.h b/debug.h
index b973955e77aee35821dfe358910e37596d249d6a..46442d4bb6ac9b8132acd3a088b6314960069f5a 100644 (file)
--- a/debug.h
+++ b/debug.h
@@ -1,21 +1,32 @@
 #ifndef __DEBUG_H__
 #define __DEBUG_H__
 
+#include "color.h"
+
 /* constants */
 
-#define DEBUG 3
-#define INFO 2
+#define DEBUG   3
+#define INFO    2
 #define WARNING 1
-#define ERROR 0
+#define ERROR   0
 
 /* 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) \
+    color_set ((level == ERROR) ? stderr : stdout, \
+               (level == ERROR) ? FG_RED : \
+               (level == WARNING) ? FG_YELLOW : \
+               (level == INFO) ? FG_BLUE : \
+               (level == DEBUG) ? FG_GREEN : COLOR_DEFAULT)
 
+/* vim: set ts=4 sw=4 et: */
 /* gobal variables */
 
 extern int verbose;
 
 #endif /* __DEBUG_H__ */
 
-/* vim: set ts=4 sw=4 et */
+/* vim: set ts=4 sw=4 et: */