diff options
| author | xcko shrdlu | 2016-11-13 07:39:39 +0000 |
|---|---|---|
| committer | Quentin Carbonneaux | 2016-11-21 16:33:31 -0500 |
| commit | 48569cdb36dd1a71f3221390b8f25e2ec62fecd7 (patch) | |
| tree | 32a457382ef60cf6189937a34937d902f496eed6 | |
| parent | 294e0d2522d6044bf68dc232f87d00703c756d17 (diff) | |
ctrl-w deletes one word
| -rw-r--r-- | irc.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -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); |
