diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2023-02-08 17:12:23 +0100 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2023-02-08 17:12:23 +0100 |
| commit | b97ec93748902c90f25524116d3d189f1b263474 (patch) | |
| tree | c1ef2d49937c0e5df28fefe4e88222783adaf3cf /lib/aec/aec.c | |
| parent | 262322f9742ee925fe135038a9bbb631acd56b36 (diff) | |
make ls cooler
Diffstat (limited to 'lib/aec/aec.c')
| -rw-r--r-- | lib/aec/aec.c | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/lib/aec/aec.c b/lib/aec/aec.c index 92a1f08..2d3d47c 100644 --- a/lib/aec/aec.c +++ b/lib/aec/aec.c @@ -2,7 +2,7 @@ #include "../io/io.h" -#define csi() wstd("\033["); +#define csi() wstd("\033[") void sgr(const char *attrs) { @@ -29,9 +29,40 @@ void background(const char *code) wstd("m"); } + +void clear_screen() +{ + csi(); + wstd("2J"); +} + + +void clear_line() +{ + csi(); + wstd("2K"); +} + + +void move_cursor(int x, int y) +{ + csi(); + wstdf("%i;%iH", y, x); +} + + +void cursor_enabled(int is_enabled) +{ + csi(); + wstd("?25"); + wstd(is_enabled ? "h" : "l"); +} + #ifdef AEC_UNIT_TEST int main() { + clear_screen(); + move_cursor(1, 1); sgr(SGR_BOLD); wstd("Hallo"); sgr(SGR_RESET); |