1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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({
-- ['<CR>'] = cmp.mapping.confirm({ select = true }),
['<CR>'] = cmp.mapping.confirm(),
['<Tab>'] = cmp.mapping.select_next_item(),
['<S-Tab>'] = 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
}
|