nvim: change autocomplete mappings

This commit is contained in:
thek4n 2024-12-02 14:07:34 +03:00
parent ac6d7a07ea
commit 5c6f5fba0a

View File

@ -13,7 +13,7 @@ local function setup_cmp()
cmp.setup({ cmp.setup({
completion = { completion = {
autocomplete = false, autocomplete = {'TextChanged'},
}, },
snippet = { snippet = {
expand = function(args) expand = function(args)
@ -22,28 +22,29 @@ local function setup_cmp()
end, end,
}, },
mapping = cmp.mapping.preset.insert({ mapping = cmp.mapping.preset.insert({
-- при нажатии на таб открывается окно ['<Tab>'] = cmp.mapping(
-- при открытом окне таб дополняет первое предложение function(fallback)
['<Tab>'] = cmp.mapping(function(fallback) if cmp.visible() then
if cmp.visible() then cmp.select_next_item()
cmp.confirm({ elseif has_words_before() then
behavior = cmp.ConfirmBehavior.Select, cmp.complete()
select = true, else
}) fallback()
elseif has_words_before() then end
cmp.complete() end,
else { "i", "s" }
fallback() ),
end ['<S-Tab>'] = cmp.mapping.select_prev_item({ behaviour = cmp.SelectBehavior.Select }),
end, { "i", "s" }),
['<C-j>'] = cmp.mapping.select_next_item({ behaviour = cmp.SelectBehavior.Select }),
['<C-k>'] = cmp.mapping.select_prev_item({ behaviour = cmp.SelectBehavior.Select }),
['<C-p>'] = cmp.mapping.scroll_docs(4), ['<C-p>'] = cmp.mapping.scroll_docs(4),
['<C-n>'] = cmp.mapping.scroll_docs(-4), ['<C-n>'] = cmp.mapping.scroll_docs(-4),
['<C-e>'] = cmp.mapping.abort(), ['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ ['<CR>'] = cmp.mapping.confirm({
behavior = cmp.ConfirmBehavior.Select, behavior = cmp.ConfirmBehavior.Select,
select = false, select = true,
}),
['`'] = cmp.mapping.confirm({
behavior = cmp.ConfirmBehavior.Select,
select = true,
}) })
}), }),
window = { window = {