aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorCharles Cabergs <charles.cabergs@colruytgroup.com>2022-05-06 12:24:39 +0200
committerCharles Cabergs <charles.cabergs@colruytgroup.com>2022-05-06 12:24:39 +0200
commit4c3176a9c6a9b3301f558936da1cb14a1026651f (patch)
tree40d0e80f84cecf4d87b9ff5a1f5541c7e562777e /config
parenta7c757ff4d4b6bbb3f164cd479a600f4cdd1a288 (diff)
downloaddotfiles-4c3176a9c6a9b3301f558936da1cb14a1026651f.tar.gz
dotfiles-4c3176a9c6a9b3301f558936da1cb14a1026651f.tar.bz2
dotfiles-4c3176a9c6a9b3301f558936da1cb14a1026651f.zip
Added luasnip to nvim-cmp
Diffstat (limited to 'config')
-rw-r--r--config/nvim/lua/plugins.lua27
1 files changed, 25 insertions, 2 deletions
diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua
index f0b1e11..3cb003a 100644
--- a/config/nvim/lua/plugins.lua
+++ b/config/nvim/lua/plugins.lua
@@ -187,17 +187,40 @@ return require("packer").startup(function()
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-nvim-lsp-signature-help",
"onsails/lspkind.nvim",
+ "L3MON4D3/LuaSnip",
},
config = function()
local lspkind = require("lspkind")
local cmp = require("cmp")
+ local luasnip = require("luasnip")
cmp.setup {
mapping = cmp.mapping.preset.insert({
["<C-n>"] = cmp.mapping.select_next_item(),
["<C-p>"] = cmp.mapping.select_prev_item(),
- ["<TAB>"] = cmp.mapping.confirm({ select = true }),
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
+
+ ["<Tab>"] = cmp.mapping(function(fallback)
+ if cmp.visible() then
+ cmp.select_next_item()
+ 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" }),
}),
-- order of the sources matter (first are higher priority)
sources = {
@@ -221,7 +244,7 @@ return require("packer").startup(function()
},
experimental = {
ghost_text = true,
- }
+ },
}
end
}