diff options
author | June McEnroe <june@causal.agency> | 2017-08-08 21:30:41 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2017-08-08 21:30:41 -0400 |
commit | f000caedde4df752b91c861b56b15e05eadb8234 (patch) | |
tree | 306a0d4be789d25f16c57d7c24bc90d893a0dfad /client.c | |
parent | Remove MADV_NOSYNC (diff) | |
download | torus-f000caedde4df752b91c861b56b15e05eadb8234.tar.gz torus-f000caedde4df752b91c861b56b15e05eadb8234.zip |
Add put mode
This is what replace mode used to do.
Diffstat (limited to '')
-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; |