diff options
Diffstat (limited to 'lib/io/io.c')
| -rw-r--r-- | lib/io/io.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/lib/io/io.c b/lib/io/io.c index 160b4cb..3b0ea96 100644 --- a/lib/io/io.c +++ b/lib/io/io.c @@ -1,6 +1,7 @@ #include "io.h" #include "../cstr/cstr.h" +#include "../aec/aec.h" void __wstdn(const char *buf, u64 n) { @@ -33,7 +34,20 @@ void wstdf__(const char *buf, const void **args) case '%': __wstdn("%", 1); break; case 's': __wstdn(((const char **)args)[0], cstr_length(((const char**)args)[0])); - ++args; break; + ++args; + break; + case 'S': + sgr(((const char **)args)[0]); + ++args; + break; + case 'F': + foreground(((const char **)args)[0]); + ++args; + break; + case 'B': + background(((const char **)args)[0]); + ++args; + break; } start = buf + 1; @@ -46,7 +60,6 @@ void wstdf__(const char *buf, const void **args) #ifdef IO_LIB_UNIT_TEST int main() { - void *args[] = { "hallo", "welt" }; - wstdf__("%s %s\n", args); + wstdf("%s %S%F%s%S\n", "hallo", SGR_UNDERLINE, COLOR_RED, "welt", SGR_RESET); } #endif |