-- nvim-cmp -- https://github.com/hrsh7th/nvim-cmp local status, cmp = pcall(require, 'cmp') if (not status) then return end cmp.setup({ auto_select = false, snippet = { expand = function(args) vim.fn["UltiSnips#Anon"](args.body) end }, mapping = { [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.complete(), [''] = cmp.config.disable, [''] = cmp.mapping({ i = cmp.mapping.abort(), c = cmp.mapping.close(), }), [''] = cmp.mapping({ i = cmp.mapping.confirm({ select = true }), c = cmp.mapping.confirm({ select = false }), }), }, sources = { { name = 'nvim_lsp' }, { name = 'ultisnips' }, { name = 'nvim_lua' }, { name = 'path' }, { name = 'omni' }, { name = 'buffer', keyword_length = 3 }, { name = 'npm', keyword_length = 4 }, }, formatting = { format = require('lspkind').cmp_format { with_text = true, menu = { buffer = "[buf]", nvim_lsp = "[LSP]", path = "[path]", luasnip = "[snip]" } } }, experimental = { native_menu = false, ghost_text = true } })