From 1a21c66353826dd387aaeda6b36c60bf815a941c Mon Sep 17 00:00:00 2001 From: takase1121 <20792268+takase1121@users.noreply.github.com> Date: Wed, 8 Sep 2021 22:46:21 +0800 Subject: [PATCH] add autocomplete:cycle Some (probably lots) of people are used to tabbing through autocomplete. now, tab is binded to autocomplete:cycle while enter is binded to autocomplete:complete. --- data/plugins/autocomplete.lua | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/data/plugins/autocomplete.lua b/data/plugins/autocomplete.lua index 484199a9..f490556c 100644 --- a/data/plugins/autocomplete.lua +++ b/data/plugins/autocomplete.lua @@ -10,7 +10,7 @@ local RootView = require "core.rootview" local DocView = require "core.docview" local Doc = require "core.doc" -config.plugins.autocomplete = { +config.plugins.autocomplete = { -- Amount of characters that need to be written for autocomplete min_len = 3, -- The max amount of visible items @@ -502,6 +502,11 @@ command.add(predicate, { suggestions_idx = math.min(suggestions_idx + 1, #suggestions) end, + ["autocomplete:cycle"] = function() + local newidx = suggestions_idx + 1 + suggestions_idx = newidx > #suggestions and 1 or newidx + end, + ["autocomplete:cancel"] = function() reset_suggestions() end, @@ -511,9 +516,11 @@ command.add(predicate, { -- Keymaps -- keymap.add { - ["tab"] = "autocomplete:complete", + ["return"] = "autocomplete:complete", + ["keypad enter"] = "autocomplete:complete", ["up"] = "autocomplete:previous", ["down"] = "autocomplete:next", + ["tab"] = "autocomplete:cycle", ["escape"] = "autocomplete:cancel", }