ref: e3799775dce7436a97e5d2c0c827494460ab3699
parent: c064ba2f8469ebea35daf8c011764e375ed082ec
author: cinap_lenrek <cinap_lenrek@localhost>
date: Wed Jun 15 08:34:30 EDT 2011
kbdfs: support ^W word killing
--- a/sys/src/cmd/aux/kbdfs/kbdfs.c
+++ b/sys/src/cmd/aux/kbdfs/kbdfs.c
@@ -568,16 +568,19 @@
case '\0': /* flush */
nr = 0;
continue;
- case '\b': /* backspace */
- case Knack: /* ^U */
+ case Kbs: /* ^H: erase character */
+ case Knack: /* ^U: erase line */
+ case Ketb: /* ^W: erase word */
while(nr > 0){nr--;
fprint(1, "\b");
- if(r == '\b')
+ if(r == Kbs)
break;
+ if(r == Ketb && utfrune(" \t", rb[nr]))+ break;
}
continue;
- case Keof: /* ^D */
+ case Keof: /* ^D: eof */
done = 1;
break;
case '\n':
--
⑨