From f000caedde4df752b91c861b56b15e05eadb8234 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Tue, 8 Aug 2017 21:30:41 -0400 Subject: Add put mode This is what replace mode used to do. --- client.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'client.c') 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; -- cgit 1.4.1