-- Setup nvim-cmp. local cmp = require'cmp' local lspkind = require'lspkind' cmp.setup({ snippet = { expand = function(args) -- For `ultisnips` user. vim.fn["UltiSnips#Anon"](args.body) end, }, mapping = { [''] = { i = function(fallback) if cmp.visible() then cmp.select_next_item() else fallback() end end, c = cmp.config.disable }, [''] = { i = function(fallback) if cmp.visible() then cmp.select_prev_item() else fallback() end end, c = cmp.config.disable }, [''] = cmp.mapping.close(), [''] = cmp.mapping.confirm({ select = true }), [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), }, sources = { { name = 'nvim_lsp' }, -- For nvim-lsp { name = 'ultisnips' }, -- For ultisnips user. { name = 'nvim_lua' }, -- for nvim lua function { name = 'path' }, -- for path completion { name = 'buffer', keyword_length = 4 }, -- for buffer word completion { name = 'omni' }, { name = 'emoji', insert = true, } -- emoji completion }, completion = { keyword_length = 1, completeopt = "menu,noselect" }, view = { entries = 'custom', }, formatting = { format = lspkind.cmp_format({ mode = "symbol_text", menu = ({ nvim_lsp = "[LSP]", ultisnips = "[US]", nvim_lua = "[Lua]", path = "[Path]", buffer = "[Buffer]", emoji = "[Emoji]", omni = "[Omni]", }), }), }, }) -- see https://github.com/hrsh7th/nvim-cmp/wiki/Menu-Appearance#how-to-add-visual-studio-code-dark-theme-colors-to-the-menu vim.cmd[[ highlight! link CmpItemMenu Comment " gray highlight! CmpItemAbbrDeprecated guibg=NONE gui=strikethrough guifg=#808080 " blue highlight! CmpItemAbbrMatch guibg=NONE guifg=#569CD6 highlight! CmpItemAbbrMatchFuzzy guibg=NONE guifg=#569CD6 " light blue highlight! CmpItemKindVariable guibg=NONE guifg=#9CDCFE highlight! CmpItemKindInterface guibg=NONE guifg=#9CDCFE highlight! CmpItemKindText guibg=NONE guifg=#9CDCFE " pink highlight! CmpItemKindFunction guibg=NONE guifg=#C586C0 highlight! CmpItemKindMethod guibg=NONE guifg=#C586C0 " front highlight! CmpItemKindKeyword guibg=NONE guifg=#D4D4D4 highlight! CmpItemKindProperty guibg=NONE guifg=#D4D4D4 highlight! CmpItemKindUnit guibg=NONE guifg=#D4D4D4 ]]