summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxcko shrdlu2016-11-13 07:39:39 +0000
committerQuentin Carbonneaux2016-11-21 16:33:31 -0500
commit48569cdb36dd1a71f3221390b8f25e2ec62fecd7 (patch)
tree32a457382ef60cf6189937a34937d902f496eed6
parent294e0d2522d6044bf68dc232f87d00703c756d17 (diff)
ctrl-w deletes one word
-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);