Browse Source

[nvim] Fix nvim-cmp keybindings and update misc nvim-cmp configuration.

master
Fredrik Ekre 4 years ago
parent
commit
16830a65fc
  1. 27
      .config/nvim/init.vim

27
.config/nvim/init.vim

@ -8,6 +8,7 @@ lua << EOF
vim.opt.completeopt = {"menu", "menuone", "noselect"} vim.opt.completeopt = {"menu", "menuone", "noselect"}
local cmp = require'cmp' local cmp = require'cmp'
local source_mapping = {buffer = '[Buffer]', nvim_lsp = '[LSP]'}
cmp.setup({ cmp.setup({
snippet = { snippet = {
@ -15,24 +16,26 @@ cmp.setup({
require('luasnip').lsp_expand(args.body) -- For `luasnip` users. require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
end, end,
}, },
mapping = { mapping = cmp.mapping.preset.insert({
-- ['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }), ['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs( 4), { 'i', 'c' }),
-- ['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }), ['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }), ['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
-- ['<C-y>'] = cmp.config.enable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping. ['<CR>'] = cmp.mapping.confirm({ select = false }),
-- ['<C-e>'] = cmp.mapping({ }),
-- i = cmp.mapping.abort(),
-- c = cmp.mapping.close(),
-- }),
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
},
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = 'nvim_lsp' }, { name = 'nvim_lsp' },
{ name = 'luasnip' }, -- For luasnip users. { name = 'luasnip' },
}, },
{ {
{ name = 'buffer' }, { name = 'buffer' },
}) }),
completion = {keyword_length = 4},
formatting = {
format = function(entry, vim_item)
vim_item.menu = source_mapping[entry.source.name]
return vim_item
end,
},
}) })
-- Setup lspconfig: capabilities is passed to lspconfig.$server.setup -- Setup lspconfig: capabilities is passed to lspconfig.$server.setup

Loading…
Cancel
Save