#include "common/macros.h"
#include "common/safe.h"
-#define BT_COMMON_COLOR_RESET "\033[0m"
-#define BT_COMMON_COLOR_BOLD "\033[1m"
-#define BT_COMMON_COLOR_FG_DEFAULT "\033[39m"
-#define BT_COMMON_COLOR_FG_RED "\033[31m"
-#define BT_COMMON_COLOR_FG_GREEN "\033[32m"
-#define BT_COMMON_COLOR_FG_YELLOW "\033[33m"
-#define BT_COMMON_COLOR_FG_BLUE "\033[34m"
-#define BT_COMMON_COLOR_FG_MAGENTA "\033[35m"
-#define BT_COMMON_COLOR_FG_CYAN "\033[36m"
-#define BT_COMMON_COLOR_FG_LIGHT_GRAY "\033[37m"
-#define BT_COMMON_COLOR_BG_DEFAULT "\033[49m"
-#define BT_COMMON_COLOR_BG_RED "\033[41m"
-#define BT_COMMON_COLOR_BG_GREEN "\033[42m"
-#define BT_COMMON_COLOR_BG_YELLOW "\033[43m"
-#define BT_COMMON_COLOR_BG_BLUE "\033[44m"
-#define BT_COMMON_COLOR_BG_MAGENTA "\033[45m"
-#define BT_COMMON_COLOR_BG_CYAN "\033[46m"
-#define BT_COMMON_COLOR_BG_LIGHT_GRAY "\033[47m"
+#define BT_COMMON_COLOR_RESET "\033[0m"
+#define BT_COMMON_COLOR_BOLD "\033[1m"
+#define BT_COMMON_COLOR_FG_DEFAULT "\033[39m"
+#define BT_COMMON_COLOR_FG_RED "\033[31m"
+#define BT_COMMON_COLOR_FG_GREEN "\033[32m"
+#define BT_COMMON_COLOR_FG_YELLOW "\033[33m"
+#define BT_COMMON_COLOR_FG_BLUE "\033[34m"
+#define BT_COMMON_COLOR_FG_MAGENTA "\033[35m"
+#define BT_COMMON_COLOR_FG_CYAN "\033[36m"
+#define BT_COMMON_COLOR_FG_LIGHT_GRAY "\033[37m"
+#define BT_COMMON_COLOR_FG_BOLD_RED "\033[1m\033[31m"
+#define BT_COMMON_COLOR_FG_BOLD_GREEN "\033[1m\033[32m"
+#define BT_COMMON_COLOR_FG_BOLD_YELLOW "\033[1m\033[33m"
+#define BT_COMMON_COLOR_FG_BOLD_BLUE "\033[1m\033[34m"
+#define BT_COMMON_COLOR_FG_BOLD_MAGENTA "\033[1m\033[35m"
+#define BT_COMMON_COLOR_FG_BOLD_CYAN "\033[1m\033[36m"
+#define BT_COMMON_COLOR_FG_BOLD_LIGHT_GRAY "\033[1m\033[37m"
+#define BT_COMMON_COLOR_FG_BRIGHT_RED "\033[91m"
+#define BT_COMMON_COLOR_FG_BRIGHT_GREEN "\033[92m"
+#define BT_COMMON_COLOR_FG_BRIGHT_YELLOW "\033[93m"
+#define BT_COMMON_COLOR_FG_BRIGHT_BLUE "\033[94m"
+#define BT_COMMON_COLOR_FG_BRIGHT_MAGENTA "\033[95m"
+#define BT_COMMON_COLOR_FG_BRIGHT_CYAN "\033[96m"
+#define BT_COMMON_COLOR_FG_BRIGHT_LIGHT_GRAY "\033[97m"
+#define BT_COMMON_COLOR_BG_DEFAULT "\033[49m"
+#define BT_COMMON_COLOR_BG_RED "\033[41m"
+#define BT_COMMON_COLOR_BG_GREEN "\033[42m"
+#define BT_COMMON_COLOR_BG_YELLOW "\033[43m"
+#define BT_COMMON_COLOR_BG_BLUE "\033[44m"
+#define BT_COMMON_COLOR_BG_MAGENTA "\033[45m"
+#define BT_COMMON_COLOR_BG_CYAN "\033[46m"
+#define BT_COMMON_COLOR_BG_LIGHT_GRAY "\033[47m"
+
+enum bt_common_color_when {
+ BT_COMMON_COLOR_WHEN_AUTO,
+ BT_COMMON_COLOR_WHEN_ALWAYS,
+ BT_COMMON_COLOR_WHEN_NEVER,
+};
+
+struct bt_common_color_codes {
+ const char *reset;
+ const char *bold;
+ const char *fg_default;
+ const char *fg_red;
+ const char *fg_green;
+ const char *fg_yellow;
+ const char *fg_blue;
+ const char *fg_magenta;
+ const char *fg_cyan;
+ const char *fg_light_gray;
+ const char *fg_bright_red;
+ const char *fg_bright_green;
+ const char *fg_bright_yellow;
+ const char *fg_bright_blue;
+ const char *fg_bright_magenta;
+ const char *fg_bright_cyan;
+ const char *fg_bright_light_gray;
+ const char *bg_default;
+ const char *bg_red;
+ const char *bg_green;
+ const char *bg_yellow;
+ const char *bg_blue;
+ const char *bg_magenta;
+ const char *bg_cyan;
+ const char *bg_light_gray;
+};
struct bt_common_lttng_live_url_parts {
GString *proto;
BT_HIDDEN
const char *bt_common_color_fg_light_gray(void);
+BT_HIDDEN
+const char *bt_common_color_fg_bright_red(void);
+
+BT_HIDDEN
+const char *bt_common_color_fg_bright_green(void);
+
+BT_HIDDEN
+const char *bt_common_color_fg_bright_yellow(void);
+
+BT_HIDDEN
+const char *bt_common_color_fg_bright_blue(void);
+
+BT_HIDDEN
+const char *bt_common_color_fg_bright_magenta(void);
+
+BT_HIDDEN
+const char *bt_common_color_fg_bright_cyan(void);
+
+BT_HIDDEN
+const char *bt_common_color_fg_bright_light_gray(void);
+
BT_HIDDEN
const char *bt_common_color_bg_default(void);
BT_HIDDEN
const char *bt_common_color_bg_light_gray(void);
+BT_HIDDEN
+void bt_common_color_get_codes(struct bt_common_color_codes *codes,
+ enum bt_common_color_when use_colors);
+
/*
* Returns the substring from `input` to the first character found
* in the list of characters `end_chars`, unescaping any character
return "UNKNOWN_OBJECT";
case __BT_FUNC_STATUS_MEMORY_ERROR:
return "MEMORY_ERROR";
+ case __BT_FUNC_STATUS_USER_ERROR:
+ return "USER_ERROR";
case __BT_FUNC_STATUS_ERROR:
return "ERROR";
case __BT_FUNC_STATUS_OK: