diff --git a/laptop/nvim/lua/config/plugins/init.lua b/laptop/nvim/lua/config/plugins/init.lua index 6b48bb3..7666da7 100644 --- a/laptop/nvim/lua/config/plugins/init.lua +++ b/laptop/nvim/lua/config/plugins/init.lua @@ -17,6 +17,7 @@ local plugins = { 'hrsh7th/nvim-cmp', 'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-path', + 'L3MON4D3/LuaSnip', 'rust-lang/rust.vim', diff --git a/laptop/nvim/lua/config/plugins/lspconfig.lua b/laptop/nvim/lua/config/plugins/lspconfig.lua index 14f86d9..87329c9 100644 --- a/laptop/nvim/lua/config/plugins/lspconfig.lua +++ b/laptop/nvim/lua/config/plugins/lspconfig.lua @@ -10,11 +10,24 @@ for _, lsp in ipairs(servers) do } end + +local luasnip = require 'luasnip' local cmp = require 'cmp' + cmp.setup { + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end + }, preselect = cmp.PreselectMode.None, mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.confirm { + behavior = cmp.ConfirmBehavior.Replace, + select = true, + }, [''] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() @@ -32,6 +45,7 @@ cmp.setup { }), sources = { { name = 'nvim_lsp' }, - { name = 'path' } + { name = 'luasnip' }, + { name = 'path' }, }, } diff --git a/laptop/nvim/lua/config/settings.lua b/laptop/nvim/lua/config/settings.lua index 2abc96c..7b5ec9e 100644 --- a/laptop/nvim/lua/config/settings.lua +++ b/laptop/nvim/lua/config/settings.lua @@ -31,7 +31,7 @@ vim.opt.wrapscan=true vim.opt.report=0 vim.opt.list=true -vim.opt.completeopt=menuone,noselect,noinsert +vim.opt.completeopt=menuone,noselect vim.g['loaded_perl_provider']=0