From 48569cdb36dd1a71f3221390b8f25e2ec62fecd7 Mon Sep 17 00:00:00 2001 From: xcko shrdlu Date: Sun, 13 Nov 2016 07:39:39 +0000 Subject: ctrl-w deletes one word --- irc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/irc.c b/irc.c index fb689ab..d81b019 100644 --- a/irc.c +++ b/irc.c @@ -685,6 +685,18 @@ tgetch(void) dirty = --cu; len--; break; + case CTRL('w'): + if (cu == 0) + break; + i = 1; + while (l[cu - i] == ' ' && cu - i != 0) i++; + while (l[cu - i] != ' ' && cu - i != 0) i++; + if (cu - i != 0) i--; + memmove(&l[cu - i], &l[cu], len - cu); + cu -= i; + dirty = cu; + len -= i; + break; case '\n': l[len] = 0; uparse(l); -- cgit v1.2.3