From 3da49e4be455d72d2a69fb76472c1f022815681b Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 8 Aug 2021 13:34:59 -0400 Subject: tab can cycle through pum, insert a tab, and jump through snippets, what more could you want? --- lua/core/compe.lua | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'lua/core/compe.lua') diff --git a/lua/core/compe.lua b/lua/core/compe.lua index e8cb857d..830cc415 100644 --- a/lua/core/compe.lua +++ b/lua/core/compe.lua @@ -42,8 +42,8 @@ M.config = function() keymap = { values = { insert_mode = { - [""] = { 'pumvisible() ? "" : ""', { silent = true, noremap = true, expr = true } }, - [""] = { 'pumvisible() ? "" : ""', { silent = true, noremap = true, expr = true } }, + -- [""] = { 'pumvisible() ? "" : ""', { silent = true, noremap = true, expr = true } }, + -- [""] = { 'pumvisible() ? "" : ""', { silent = true, noremap = true, expr = true } }, [""] = { "compe#complete()", { silent = true, noremap = true, expr = true } }, [""] = { "compe#close('')", { silent = true, noremap = true, expr = true } }, [""] = { "compe#scroll({ 'delta': +4 })", { silent = true, noremap = true, expr = true } }, @@ -86,12 +86,13 @@ M.setup = function() _G.tab_complete = function() if vim.fn.pumvisible() == 1 then return t "" - elseif vim.fn.call("vsnip#available", { 1 }) == 1 then - return t "(vsnip-expand-or-jump)" + elseif vim.fn.call("vsnip#jumpable", { 1 }) == 1 then + return t "(vsnip-jump-next)" elseif check_back_space() then return t "" else - return vim.fn["compe#complete"]() + -- return vim.fn["compe#complete"]() -- < use this if you want to always offer completion + return t "" end end @@ -107,6 +108,18 @@ M.setup = function() local keymap = require "keymappings" keymap.load(lvim.builtin.compe.keymap.values, lvim.builtin.compe.keymap.opts) + + vim.api.nvim_set_keymap("i", "", "v:lua.tab_complete()", { expr = true }) + vim.api.nvim_set_keymap("s", "", "v:lua.tab_complete()", { expr = true }) + vim.api.nvim_set_keymap("i", "", "v:lua.s_tab_complete()", { expr = true }) + vim.api.nvim_set_keymap("s", "", "v:lua.s_tab_complete()", { expr = true }) + +-- vim.cmd[[ +-- imap vsnip#jumpable(1) ? '(vsnip-jump-next)' : '' +-- smap vsnip#jumpable(1) ? '(vsnip-jump-next)' : '' +-- imap vsnip#jumpable(-1) ? '(vsnip-jump-prev)' : '' +-- smap vsnip#jumpable(-1) ? '(vsnip-jump-prev)' : '' +-- ]] end return M -- cgit v1.2.3