chore(vim): add completion plugins and configuration

This commit is contained in:
Stefan Imhoff
2021-12-11 14:07:19 +01:00
parent 0cc5cb206c
commit ab84b01b15
3 changed files with 61 additions and 0 deletions

View File

@@ -5,8 +5,10 @@ source ~/.config/nvim/plugins/base16.vim
source ~/.config/nvim/plugins/blamer.vim source ~/.config/nvim/plugins/blamer.vim
source ~/.config/nvim/plugins/bookmarks.vim source ~/.config/nvim/plugins/bookmarks.vim
source ~/.config/nvim/plugins/bufferline.lua source ~/.config/nvim/plugins/bufferline.lua
source ~/.config/nvim/plugins/cmp.lua
source ~/.config/nvim/plugins/colorizer.lua source ~/.config/nvim/plugins/colorizer.lua
source ~/.config/nvim/plugins/dashboard.vim source ~/.config/nvim/plugins/dashboard.vim
source ~/.config/nvim/plugins/diagnosticls-configs.lua
source ~/.config/nvim/plugins/gitsigns.lua source ~/.config/nvim/plugins/gitsigns.lua
source ~/.config/nvim/plugins/goyo.vim source ~/.config/nvim/plugins/goyo.vim
source ~/.config/nvim/plugins/harpoon.lua source ~/.config/nvim/plugins/harpoon.lua

View File

@@ -24,9 +24,17 @@ Plug 'onsails/lspkind-nvim'
Plug 'creativenull/diagnosticls-configs-nvim' Plug 'creativenull/diagnosticls-configs-nvim'
" Completion " 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 'SirVer/ultisnips'
Plug 'honza/vim-snippets' Plug 'honza/vim-snippets'
Plug 'quangnguyen30192/cmp-nvim-ultisnips' Plug 'quangnguyen30192/cmp-nvim-ultisnips'
Plug 'David-Kunz/cmp-npm'
" File Management
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'lewis6991/gitsigns.nvim' Plug 'lewis6991/gitsigns.nvim'
Plug 'ThePrimeagen/harpoon' Plug 'ThePrimeagen/harpoon'

51
nvim/plugins/cmp.lua Normal file
View File

@@ -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 = {
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-x>'] = cmp.mapping.complete(),
['<C-y>'] = cmp.config.disable,
['<C-e>'] = cmp.mapping({
i = cmp.mapping.abort(),
c = cmp.mapping.close(),
}),
['<CR>'] = 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
}
})