summaryrefslogtreecommitdiff
path: root/dot_config/nvim/lua/plugins/nvim-cmp.lua
blob: 197d8304dd177392f12c9a23002b44a62cf12704 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
---@diagnostic disable:undefined-global

local cmp = require 'cmp'
local snp = require 'snippy'

local mappings = require('snippy.mapping')
vim.keymap.set('i', '<Tab>', mappings.expand_or_advance('<Tab>'),
	{ desc = 'snippy next' })
vim.keymap.set('s', '<Tab>', mappings.next('<Tab>'),
	{ desc = 'snippy next' })
vim.keymap.set({ 'i', 's' }, '<S-Tab>', mappings.previous('<S-Tab>'),
	{ desc = 'snippy prev' })
vim.keymap.set('x', '<Tab>', mappings.cut_text,
	{ remap = true, desc = 'snippy cut' })
vim.keymap.set('n', 'g<Tab>', mappings.cut_text,
	{ remap = true, desc = 'snippy cut' })

cmp.setup {
	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 },
	},
	snippet = {
		expand = function(args)
			snp.expand_snippet(args.body)
		end,
	},
	window = {
	},
	sources = cmp.config.sources {
		{ name = 'nvim_lsp' },
		-- { name = 'conjure' },
		{ name = 'snippy' },
	},
}

cmp.setup.cmdline(':', {
	mapping = cmp.mapping.preset.cmdline(),
	sources = cmp.config.sources({
		{ name = 'path' },
	}, {
		{ name = 'cmdline' },
	})
})