diff --git a/src/readline.c b/src/readline.c index 4b095cd..9a1de2e 100644 --- a/src/readline.c +++ b/src/readline.c @@ -104,12 +104,20 @@ int readline(char *buf, size_t lim, void (*prompt) (void)) { goto err; } - if (chr == 0x03) { + // Control characters + if (chr == t0.c_cc[VINTR]) { fputc('\n', stdout); prompt(); len = 0; cur = 0; continue; + } else if (chr == 0xC) { + printf("\033[2J\033[1;1f"); + prompt(); + fwrite(buf, 1, len, stdout); + fflush(stdout); + cur = len; + continue; } if (len == lim) {