----------------------------------------------------------- -- Autocomplete configuration file ----------------------------------------------------------- -- Plugin: nvim-cmp -- url: https://github.com/hrsh7th/nvim-cmp local cmp_status_ok, cmp = pcall(require, 'cmp') if not cmp_status_ok then return end local luasnip_status_ok, luasnip = pcall(require, 'luasnip') if not luasnip_status_ok then return end cmp.setup { -- Load snippet support snippet = { expand = function(args) luasnip.lsp_expand(args.body) end, }, -- Completion settings completion = { --completeopt = 'menu,menuone,noselect' keyword_length = 2 }, -- Key mapping mapping = { [''] = cmp.mapping.select_next_item(), [''] = cmp.mapping.select_prev_item(), [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [""] = cmp.mapping({ i = cmp.mapping.abort(), c = cmp.mapping.close(), }), [""] = cmp.config.disable, [''] = cmp.mapping.confirm { select = false, }, -- Tab mapping [''] = function(fallback) if cmp.visible() then cmp.select_next_item() elseif luasnip.expand_or_jumpable() then luasnip.expand_or_jump() else fallback() end end, [''] = function(fallback) if cmp.visible() then cmp.select_prev_item() elseif luasnip.jumpable(-1) then luasnip.jump(-1) else fallback() end end }, -- Load sources, see: https://github.com/topics/nvim-cmp sources = { { name = 'nvim-lsp' }, { name = 'luasnip' }, { name = 'path' }, { name = 'buffer' }, { name = 'bash' }, }, } -- 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 ]]