return { 'hrsh7th/nvim-cmp', dependencies = { 'neovim/nvim-lspconfig', 'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-buffer', 'hrsh7th/cmp-path', 'lukas-reineke/cmp-rg', 'onsails/lspkind.nvim' }, config = function() local cmp = require('cmp') local lspkind = require('lspkind') cmp.setup({ snippet = { expand = function(arg) vim.snippet.expand(arg.body) end }, mapping = cmp.mapping.preset.insert({ -- [''] = cmp.mapping.confirm({ select = true }), [''] = cmp.mapping.confirm(), [''] = cmp.mapping.select_next_item(), [''] = cmp.mapping.select_prev_item(), }), sources = cmp.config.sources( { { name = 'nvim_lsp' }, }, { { name = 'path' }, }, { { name = 'buffer' }, { name = 'rg', keyword_length = 3 } } ), formatting = { format = lspkind.cmp_format({ mode = 'symbol' }) }, view = { entries = 'native' } }) local capabilities = require('cmp_nvim_lsp').default_capabilities() require("lspconfig").lua_ls.setup({capabilities = capabilities}) end }