37 lines
907 B
Lua
37 lines
907 B
Lua
---
|
|
-- Autocompletion config
|
|
---
|
|
local lsp_zero = require('lsp-zero')
|
|
local cmp = require('cmp')
|
|
local cmp_action = lsp_zero.cmp_action()
|
|
|
|
cmp.setup({
|
|
sources = {
|
|
{ name = 'path' },
|
|
{ name = 'nvim_lsp' },
|
|
{ name = 'luasnip', keyword_length = 2 },
|
|
{ name = 'buffer', keyword_length = 3 },
|
|
},
|
|
mapping = cmp.mapping.preset.insert({
|
|
-- `Enter` key to confirm completion
|
|
['<CR>'] = cmp.mapping.confirm({ select = false }),
|
|
|
|
-- Ctrl+Space to trigger completion menu
|
|
['<C-Space>'] = cmp.mapping.complete(),
|
|
|
|
-- Navigate between snippet placeholder
|
|
['<C-f>'] = cmp_action.luasnip_jump_forward(),
|
|
['<C-b>'] = cmp_action.luasnip_jump_backward(),
|
|
|
|
-- Scroll up and down in the completion documentation
|
|
['<C-u>'] = cmp.mapping.scroll_docs(-4),
|
|
['<C-d>'] = cmp.mapping.scroll_docs(4),
|
|
}),
|
|
snippet = {
|
|
expand = function(args)
|
|
require('luasnip').lsp_expand(args.body)
|
|
end,
|
|
},
|
|
})
|
|
|