summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--irc.c12
1 files changed, 12 insertions, 0 deletions
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);