ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
ansi.h File Reference

ANSI escape sequence utilities and fast color code generation. More...

Go to the source code of this file.

Data Structures

struct  ansi_rle_context_t
 
struct  ansi_timing_t
 
struct  rgb_error_t
 

Macros

#define ANSI_RESET   "\033[0m"
 

Enumerations

enum  ansi_color_mode_t { ANSI_MODE_FOREGROUND = 0 , ANSI_MODE_BACKGROUND , ANSI_MODE_FOREGROUND_BACKGROUND }
 

Functions

char * ansi_strip_escapes (const char *input, size_t input_len)
 Strip all ANSI escape sequences from a string.
 
const char * ansi_skip_escape (const char *ptr, const char *end)
 Find the end of an ANSI CSI escape sequence.
 
bool ansi_is_already_colorized (const char *message, size_t pos)
 Check if a position in text is already colored.
 
char * append_truecolor_fg (char *dst, uint8_t r, uint8_t g, uint8_t b)
 
char * append_truecolor_bg (char *dst, uint8_t r, uint8_t g, uint8_t b)
 
char * append_truecolor_fg_bg (char *dst, uint8_t fg_r, uint8_t fg_g, uint8_t fg_b, uint8_t bg_r, uint8_t bg_g, uint8_t bg_b)
 
void ansi_rle_init (ansi_rle_context_t *ctx, char *buffer, size_t capacity, ansi_color_mode_t mode)
 
void ansi_rle_add_pixel (ansi_rle_context_t *ctx, uint8_t r, uint8_t g, uint8_t b, char ascii_char)
 
void ansi_rle_finish (ansi_rle_context_t *ctx)
 
void ansi_fast_init (void)
 
void ansi_fast_init_256color (void)
 
void ansi_fast_init_16color (void)
 
char * append_256color_fg (char *dst, uint8_t color_index)
 
char * append_256color_bg (char *dst, uint8_t color_index)
 
uint8_t rgb_to_256color (uint8_t r, uint8_t g, uint8_t b)
 
char * append_16color_fg (char *dst, uint8_t color_index)
 
char * append_16color_bg (char *dst, uint8_t color_index)
 
uint8_t rgb_to_16color (uint8_t r, uint8_t g, uint8_t b)
 
void get_16color_rgb (uint8_t color_index, uint8_t *r, uint8_t *g, uint8_t *b)
 
uint8_t rgb_to_16color_dithered (int r, int g, int b, int x, int y, int width, int height, rgb_error_t *error_buffer)
 
char * append_color_fg_for_mode (char *dst, uint8_t r, uint8_t g, uint8_t b, terminal_color_mode_t mode)
 

Detailed Description

ANSI escape sequence utilities and fast color code generation.

Provides functions for:

  • Stripping and detecting ANSI escape sequences
  • Fast ANSI color code generation with SIMD-accelerated terminal output
  • Support for truecolor, 256-color, and 16-color modes
  • Run-length encoding for efficient terminal output

Definition in file ansi.h.

Macro Definition Documentation

◆ ANSI_RESET

#define ANSI_RESET   "\033[0m"

Definition at line 26 of file ansi.h.