From d05b8805325c2d1836c1a60280bb097340bbd03f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Sun, 11 Oct 2015 23:05:16 +0200 Subject: vis: properly ignore tab at command prompt Closes #77 --- config.def.h | 8 +++++++- vis.c | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/config.def.h b/config.def.h index e84629e..a7c8c13 100644 --- a/config.def.h +++ b/config.def.h @@ -222,6 +222,7 @@ enum { VIS_ACTION_TEXT_OBJECT_LINE_INNER, VIS_ACTION_MOTION_CHARWISE, VIS_ACTION_MOTION_LINEWISE, + VIS_ACTION_NOP, }; static KeyAction vis_action[] = { @@ -985,6 +986,11 @@ static KeyAction vis_action[] = { "Force motion to be linewise", motiontype, { .i = LINEWISE } }, + [VIS_ACTION_NOP] = { + "nop", + "Ignore key, do nothing", + nop, + }, }; static KeyBinding basic_movement[] = { @@ -1299,7 +1305,7 @@ static KeyBinding vis_mode_prompt[] = { { "", ACTION(PROMPT_BACKSPACE) }, { "", ACTION(PROMPT_ENTER) }, { "", ALIAS("") }, - { "", }, + { "", ACTION(NOP) }, { /* empty last element, array terminator */ }, }; diff --git a/vis.c b/vis.c index 44aa733..351ad54 100644 --- a/vis.c +++ b/vis.c @@ -301,6 +301,8 @@ static TextObject textobjs[] = { }; /** functions to be called from keybindings */ +/* ignore key, do nothing */ +static const char *nop(const char *keys, const Arg *arg); /* navigate jump list either in forward (arg->i>0) or backward (arg->i<0) direction */ static const char *jumplist(const char *keys, const Arg *arg); /* navigate change list either in forward (arg->i>0) or backward (arg->i<0) direction */ @@ -782,6 +784,10 @@ static size_t view_lines_bottom(const Arg *arg) { /** key bindings functions */ +static const char *nop(const char *keys, const Arg *arg) { + return keys; +} + static const char *jumplist(const char *keys, const Arg *arg) { size_t pos; if (arg->i > 0) -- cgit v1.2.3