--- -- 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 [''] = cmp.mapping.confirm({ select = false }), -- Ctrl+Space to trigger completion menu [''] = cmp.mapping.complete(), -- Navigate between snippet placeholder [''] = cmp_action.luasnip_jump_forward(), [''] = cmp_action.luasnip_jump_backward(), -- Scroll up and down in the completion documentation [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), }), snippet = { expand = function(args) require('luasnip').lsp_expand(args.body) end, }, })