aboutsummaryrefslogtreecommitdiff
path: root/vis-prompt.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2017-03-31 13:49:54 +0200
committerMarc André Tanner <mat@brain-dump.org>2017-03-31 13:49:54 +0200
commitc5594e156e6088c791060f5a4839b89f0906d4d1 (patch)
tree252e3476cddb164440f120f9ef2e4ea9c22a4842 /vis-prompt.c
parentdc5f5a45a2315011ebeeb0a56a7434ead292dc96 (diff)
downloadvis-c5594e156e6088c791060f5a4839b89f0906d4d1.tar.gz
vis-c5594e156e6088c791060f5a4839b89f0906d4d1.tar.xz
vis: improve tab completion in command prompt
At some point it should probably be possible to add command prompt bindings from within Lua. Currently there is no easy/realiable way to detect the prompt window. Should improve #526.
Diffstat (limited to 'vis-prompt.c')
-rw-r--r--vis-prompt.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/vis-prompt.c b/vis-prompt.c
index 3cddc47..a08a19f 100644
--- a/vis-prompt.c
+++ b/vis-prompt.c
@@ -154,6 +154,11 @@ static const KeyBinding prompt_up_binding = {
},
};
+static const KeyBinding prompt_tab_binding = {
+ .key = "<Tab>",
+ .alias = "<C-x><C-o>",
+};
+
void vis_prompt_show(Vis *vis, const char *title) {
Win *active = vis->win;
Win *prompt = window_new_file(vis, title[0] == ':' ? vis->command_file : vis->search_file,
@@ -173,6 +178,8 @@ void vis_prompt_show(Vis *vis, const char *title) {
vis_window_mode_map(prompt, VIS_MODE_VISUAL, true, "<Enter>", &prompt_enter_binding);
vis_window_mode_map(prompt, VIS_MODE_NORMAL, true, "<Escape>", &prompt_esc_binding);
vis_window_mode_map(prompt, VIS_MODE_INSERT, true, "<Up>", &prompt_up_binding);
+ if (CONFIG_LUA)
+ vis_window_mode_map(prompt, VIS_MODE_INSERT, true, "<Tab>", &prompt_tab_binding);
vis_mode_switch(vis, VIS_MODE_INSERT);
}