diff --git a/.gitignore b/.gitignore index ede1d7fd..fb90c98e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,9 @@ janet janet-*.tar.gz dist +# Kakoune (fzf via fd) +.fdignore + # VSCode .vscode diff --git a/src/mainclient/line.c b/src/mainclient/line.c index 4b29d064..8529ccd4 100644 --- a/src/mainclient/line.c +++ b/src/mainclient/line.c @@ -314,6 +314,14 @@ static void kbackspace() { } } +static void kdelete() { + if (gbl_pos != gbl_len) { + memmove(gbl_buf + gbl_pos, gbl_buf + gbl_pos + 1, gbl_len - gbl_pos); + gbl_buf[--gbl_len] = '\0'; + refresh(); + } +} + static int line() { gbl_cols = getcols(); gbl_plen = 0; @@ -386,6 +394,9 @@ static int line() { if (read(STDIN_FILENO, seq + 2, 1) == -1) break; if (seq[2] == '~') { switch (seq[1]) { + case '3': /* delete */ + kdelete(); + break; default: break; }