diff options
Diffstat (limited to 'client.c')
-rwxr-xr-x | client.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/client.c b/client.c index 2c95468..8761f04 100755 --- a/client.c +++ b/client.c @@ -74,6 +74,7 @@ static enum { MODE_NORMAL, MODE_INSERT, MODE_REPLACE, + MODE_PUT, MODE_DRAW, } mode; static struct { @@ -148,6 +149,12 @@ static void readInput(void) { return; } + if (mode == MODE_PUT) { + if (isprint(c)) clientPut(inputColor, c); + mode = MODE_NORMAL; + return; + } + if (mode == MODE_DRAW && !drawChar) { if (c == ESC) mode = MODE_NORMAL; if (isprint(c)) { @@ -166,6 +173,7 @@ static void readInput(void) { case 'i': insertMode(1, 0); break; case 'I': insertMode(0, 0); break; case 'r': mode = MODE_REPLACE; break; + case 'p': mode = MODE_PUT; break; case 'R': mode = MODE_DRAW; drawChar = 0; break; case 'x': clientPut(CH_COLOR(inch()), ' '); break; |