+gboolean colored_output = TRUE;
+
+/* Console colors (true-color) */
+
+/* Escape values for various colors */
+#define BLUE "\033[38;2;38;139;210m"
+#define BRBLUE "\033[38;2;131;148;150m"
+#define BRGREEN "\033[38;2;88;110;117m"
+#define BRRED "\033[38;2;203;75;22m"
+#define BRMAGENTA "\033[38;2;108;113;196m" /* VIOLET */
+#define CYAN "\033[38;2;42;161;152m"
+#define GREEN "\033[38;2;133;153;0m"
+#define MAGENTA "\033[38;2;211;54;130m"
+#define YELLOW "\033[38;2;176;130;26m"
+
+/* General colors */
+#define RESET_COLOR (colored_output? "\033[0m": "")
+#define HEADING_COLOR (colored_output? YELLOW : "")
+#define PROP_NAME_COLOR (colored_output? BLUE: "")
+#define PROP_VALUE_COLOR (colored_output? CYAN : "")
+#define PROP_ATTR_NAME_COLOR (colored_output? BRRED : "")
+#define PROP_ATTR_VALUE_COLOR (colored_output? BRGREEN : "")
+/* FIXME: find a good color that works on both dark & light bg. */
+#define DESC_COLOR (colored_output? RESET_COLOR: "")
+
+/* Datatype-related colors */
+#define DATATYPE_COLOR (colored_output? MAGENTA : "")
+#define CHILD_LINK_COLOR (colored_output? BRMAGENTA : "")
+
+/* Caps colors */
+#define FIELD_NAME_COLOR (colored_output? BLUE : "")
+#define FIELD_VALUE_COLOR (colored_output? BRGREEN : "")
+#define CAPS_TYPE_COLOR (colored_output? YELLOW : "")
+#define STRUCT_NAME_COLOR (colored_output? YELLOW : "")
+#define CAPS_FEATURE_COLOR (colored_output? GREEN : "")
+
+/* Plugin listing colors */
+#define PLUGIN_NAME_COLOR (colored_output? BRMAGENTA : "")
+#define ELEMENT_NAME_COLOR (colored_output? GREEN: "")
+#define ELEMENT_DETAIL_COLOR (colored_output? BRBLUE: "")
+#define PLUGIN_FEATURE_COLOR (colored_output? BRBLUE: "")
+
+/* Feature listing colors */
+#define FEATURE_NAME_COLOR (colored_output? GREEN : "")
+#define FEATURE_DIR_COLOR (colored_output? BRMAGENTA : "")
+#define FEATURE_RANK_COLOR (colored_output? CYAN : "")
+#define FEATURE_PROTO_COLOR (colored_output? BRRED : "")
+