diff options
author | Damjan 9000 <damjan.9000@gmail.com> | 2023-10-22 12:37:32 +0200 |
---|---|---|
committer | Damjan 9000 <damjan.9000@gmail.com> | 2023-11-03 21:01:49 +0100 |
commit | 3ab1c22507932078cad6e7dc00b952ba2532e59a (patch) | |
tree | a7f87f0a12a8aedd729d9ab4f5fc7133a3d43b44 /lua | |
parent | cff9b1339c70f23c7d0d8e4491f4a73c219b8e4f (diff) |
Added lua/cmp-setup.lua
Diffstat (limited to 'lua')
-rw-r--r-- | lua/cmp-setup.lua | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/lua/cmp-setup.lua b/lua/cmp-setup.lua new file mode 100644 index 0000000..ce389e4 --- /dev/null +++ b/lua/cmp-setup.lua @@ -0,0 +1,49 @@ +-- [[ Configure nvim-cmp ]] +-- See `:help cmp` +local cmp = require 'cmp' +local luasnip = require 'luasnip' +require('luasnip.loaders.from_vscode').lazy_load() +luasnip.config.setup {} + +cmp.setup { + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + mapping = cmp.mapping.preset.insert { + ['<C-n>'] = cmp.mapping.select_next_item(), + ['<C-p>'] = cmp.mapping.select_prev_item(), + ['<C-d>'] = cmp.mapping.scroll_docs(-4), + ['<C-f>'] = cmp.mapping.scroll_docs(4), + ['<C-Space>'] = cmp.mapping.complete {}, + ['<CR>'] = cmp.mapping.confirm { + behavior = cmp.ConfirmBehavior.Replace, + select = true, + }, + ['<Tab>'] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_locally_jumpable() then + luasnip.expand_or_jump() + else + fallback() + end + end, { 'i', 's' }), + ['<S-Tab>'] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.locally_jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { 'i', 's' }), + }, + sources = { + { name = 'nvim_lsp' }, + { name = 'luasnip' }, + }, +} + +-- vim: ts=2 sts=2 sw=2 et |