#ifndef COLORS_H_ #define COLORS_H_ #define ANSI_ENABLED 1 #define ASNI_DISABLED 0 // Common escape codes // can be used to print colored text extern char *RED; extern char *YELLOW; extern char *MAGENTA; extern char *CYAN; extern char *GREEN; extern char *RESET; extern char *BOLD; extern char *FAINT; /** * @brief Initialize global state */ void col_init(void); /** * @brief Enable ANSI escape codes. This will set the correct escape codes to * the global strings above. */ void enable_ansi_colors(); /** * @brief Disable ANSI escape codes. This will set all the above global strings to be empty. */ void disable_ansi_colors(); /** * @brief Check if stdout may support ANSI escape codes. * @attention This function may report escape codes to be unavailable even if they actually are. * @return ANSI_ENABLED if escape sequences are supported ASNI_DISABLED otherwise */ [[nodiscard]] int stdout_supports_ansi_esc(); #endif // COLORS_H_