diff --git a/nvim/plugin-config.vim b/nvim/plugin-config.vim index 17747d4..9520a84 100644 --- a/nvim/plugin-config.vim +++ b/nvim/plugin-config.vim @@ -5,8 +5,10 @@ source ~/.config/nvim/plugins/base16.vim source ~/.config/nvim/plugins/blamer.vim source ~/.config/nvim/plugins/bookmarks.vim source ~/.config/nvim/plugins/bufferline.lua +source ~/.config/nvim/plugins/cmp.lua source ~/.config/nvim/plugins/colorizer.lua source ~/.config/nvim/plugins/dashboard.vim +source ~/.config/nvim/plugins/diagnosticls-configs.lua source ~/.config/nvim/plugins/gitsigns.lua source ~/.config/nvim/plugins/goyo.vim source ~/.config/nvim/plugins/harpoon.lua diff --git a/nvim/plugins.vim b/nvim/plugins.vim index 50c9d84..849ce05 100644 --- a/nvim/plugins.vim +++ b/nvim/plugins.vim @@ -24,9 +24,17 @@ Plug 'onsails/lspkind-nvim' Plug 'creativenull/diagnosticls-configs-nvim' " Completion +Plug 'hrsh7th/nvim-cmp' +Plug 'hrsh7th/cmp-buffer' +Plug 'hrsh7th/cmp-cmdline' +Plug 'hrsh7th/cmp-nvim-lsp' +Plug 'hrsh7th/cmp-path' Plug 'SirVer/ultisnips' Plug 'honza/vim-snippets' Plug 'quangnguyen30192/cmp-nvim-ultisnips' +Plug 'David-Kunz/cmp-npm' + +" File Management Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } Plug 'lewis6991/gitsigns.nvim' Plug 'ThePrimeagen/harpoon' diff --git a/nvim/plugins/cmp.lua b/nvim/plugins/cmp.lua new file mode 100644 index 0000000..85043a1 --- /dev/null +++ b/nvim/plugins/cmp.lua @@ -0,0 +1,51 @@ +-- 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 = 'path' }, + { name = 'ultisnips' }, + { name = 'buffer', keyword_length = 5 }, + { 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 + } +})