From 6aeb589a8acb296b15473811f6633644786c8b61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Tue, 20 Dec 2016 22:07:50 +0100 Subject: vis: improve literal insertion via in insert mode --- main.c | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index fdfe0bc..64f1132 100644 --- a/main.c +++ b/main.c @@ -1879,28 +1879,13 @@ static const char *insert_verbatim(Vis *vis, const char *keys, const Arg *arg) { const char *next = vis_keys_next(vis, keys); if (!next) return NULL; - size_t keylen = next - keys; - char key[keylen+1]; - memcpy(key, keys, keylen); - key[keylen] = '\0'; - - static const char *keysym[] = { - "", "\n", - "", "\t", - "", "\b", - "", "\x1b", - "", "\x7f", - NULL, - }; - - for (const char **k = keysym; k[0]; k += 2) { - if (strcmp(k[0], key) == 0) { - data = k[1]; - len = strlen(data); - keys = next; - break; - } + if ((rune = vis_keys_codepoint(vis, keys)) != (Rune)-1) { + len = runetochar(buf, &rune); + data = buf; + } else { + vis_info_show(vis, "Unknown key"); } + keys = next; } if (len > 0) -- cgit v1.2.3