diff options
Diffstat (limited to 'alpine-river/config/nvim/lua/config/cmp.lua')
-rw-r--r-- | alpine-river/config/nvim/lua/config/cmp.lua | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/alpine-river/config/nvim/lua/config/cmp.lua b/alpine-river/config/nvim/lua/config/cmp.lua new file mode 100644 index 0000000..13ca020 --- /dev/null +++ b/alpine-river/config/nvim/lua/config/cmp.lua @@ -0,0 +1,30 @@ +vim.opt.completeopt={"menu", "menuone", "noselect"} + +local cmp = require'cmp' + +cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) -- For `luasnip` users. + -- vim.snippet.expand(args.body) -- For native neovim snippets (Neovim v0.10+) + end, + }, + window = { + -- completion = cmp.config.window.bordered(), + -- documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + ['<C-b>'] = cmp.mapping.scroll_docs(-4), + ['<C-f>'] = cmp.mapping.scroll_docs(4), + ['<C-Space>'] = cmp.mapping.complete(), + ['<C-e>'] = cmp.mapping.abort(), + ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'path' }, + { name = 'luasnip' }, -- For luasnip users. + }, { + { name = 'buffer' }, + }) +}) |