From 97947adeca4b81a2da0fc5506df46b6e68a86074 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sat, 19 Sep 2015 16:11:59 +0200 Subject: vis: add rudimentary support for key aliases This will eventually be exposed via a :map style command. --- vis.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'vis.c') diff --git a/vis.c b/vis.c index 72889ab..9e397c4 100644 --- a/vis.c +++ b/vis.c @@ -2625,10 +2625,15 @@ static const char *keypress(const char *input) { *end = tmp; if (binding) { /* exact match */ - end = (char*)binding->func(end, &binding->arg); - if (!end) - break; - start = cur = end; + if (binding->func) { + end = (char*)binding->func(end, &binding->arg); + if (!end) + break; + start = cur = end; + } else { /* alias */ + buffer_put0(&vis->input_queue, end); + buffer_prepend0(&vis->input_queue, binding->alias); + } } else if (prefix) { /* incomplete key binding? */ cur = end; } else { /* no keybinding */ -- cgit v1.2.3