47 lines
971 B
C
47 lines
971 B
C
|
|
#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_
|