#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: */