diff options
author | axtloss <axtlos@disroot.org> | 2024-10-17 02:39:27 +0200 |
---|---|---|
committer | axtloss <axtlos@disroot.org> | 2024-10-17 02:39:27 +0200 |
commit | 7f0fc08c05142f9f70cb05a4b1b1d6f0b1a3279b (patch) | |
tree | 0c1934e2d6940a99e97f2adefdac46cd3b9e384d /src/extlib.h | |
parent | b2182396df5d99ff5c26161aaffa5ced879742c5 (diff) | |
download | extlib-7f0fc08c05142f9f70cb05a4b1b1d6f0b1a3279b.tar.gz extlib-7f0fc08c05142f9f70cb05a4b1b1d6f0b1a3279b.tar.bz2 |
Add strfmt
Diffstat (limited to 'src/extlib.h')
-rw-r--r-- | src/extlib.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/extlib.h b/src/extlib.h index 03bb53b..c3d342a 100644 --- a/src/extlib.h +++ b/src/extlib.h @@ -6,6 +6,7 @@ #include <stdio.h> #include <unistd.h> #include <stdint.h> +#include <stdbool.h> #ifdef USE_SECURE_MEM #define free(x) error - use free_secure @@ -76,3 +77,73 @@ float min (float v, float min_v); /// Limit a value between min and max float cap (float v, float min_v, float max_v); + +#ifndef STYLESDEF +/// Original 16 terminal colors +enum colors16 { + BLACK, + RED, + GREEN, + YELLOW, + BLUE, + MAGENTA, + CYAN, + WHITE, + GRAY, + BRIGHTRED, + BRIGHTGREEN, + BRIGHTYELLOW, + BRIGHTBLUE, + BRIGHTMAGENTA, + BRIGHTCYAN, + BRIGHTWHITE +}; + +enum grayscale { + GRAY1 = 232, + GRAY2, + GRAY3, + GRAY4, + GRAY5, + GRAY6, + GRAY7, + GRAY8, + GRAY9, + GRAY10, + GRAY11, + GRAY12, + GRAY13, + GRAY14, + GRAY15, + GRAY16, + GRAY17, + GRAY18, + GRAY19, + GRAY20, + GRAY21, + GRAY22, + GRAY23, + GRAY24 +}; + +enum effects { + BOLD = 1, + DIM = 2, + ITALIC = 4, + UNDERLINE = 8, + BLINKING = 16, + INVERSE = 32, + HIDDEN = 64, + STRIKETHROUGH = 128 +}; + +struct style { + int color; + bool background; + int styles; +}; +#define STYLESDEF +#endif + +/// Format a string with ANSI escape codes +char *strfmt (char *s, struct style); |