Change key bindings for tab completions

This commit is contained in:
Arkaprabha Chakraborty
2023-09-09 11:19:45 +05:30
parent e1fb033ee3
commit 7ccaeb4ee3

View File

@@ -13,12 +13,6 @@ if not luasnip_vscode_ok then
return return
end end
local has_words_before = function()
unpack = unpack or table.unpack
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
luasnip_vscode.lazy_load() luasnip_vscode.lazy_load()
cmp.setup({ cmp.setup({
@@ -31,32 +25,11 @@ cmp.setup({
end, end,
}, },
mapping = { mapping = {
["<CR>"] = cmp.mapping.confirm({ select = true }),
["<C-k>"] = cmp.mapping.scroll_docs(-4), ["<C-k>"] = cmp.mapping.scroll_docs(-4),
["<C-j>"] = cmp.mapping.scroll_docs(4), ["<C-j>"] = cmp.mapping.scroll_docs(4),
["<C-e>"] = cmp.mapping.abort(), ["<Tab>"] = cmp.mapping.select_next_item(),
["<Tab>"] = cmp.mapping(function(fallback) ["<S-Tab>"] = cmp.mapping.select_prev_item(),
if cmp.visible() then ["<CR>"] = cmp.mapping.confirm(),
cmp.select_next_item()
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
-- they way you will only jump inside the snippet region
--elseif luasnip.expand_or_jumpable() then
-- luasnip.expand_or_jump()
elseif has_words_before() then
cmp.complete()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
--elseif luasnip.jumpable(-1) then
-- luasnip.jump(-1)
else
fallback()
end
end, { "i", "s" }),
}, },
sources = { sources = {
{ name = "nvim_lsp" }, { name = "nvim_lsp" },