You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
return { -- Autocompletion'hrsh7th/nvim-cmp',
event='InsertEnter',
dependencies= { -- Snippet Engine & its associated nvim-cmp source
{
'L3MON4D3/LuaSnip',
build= (function()
-- Build Step is needed for regex support in snippets.-- This step is not supported in many windows environments.-- Remove the below condition to re-enable on windows.ifvim.fn.has'win32' ==1orvim.fn.executable'make' ==0thenreturnendreturn'make install_jsregexp'end)(),
dependencies= {
-- `friendly-snippets` contains a variety of premade snippets.-- See the README about individual language/framework/plugin snippets:-- https://github.com/rafamadriz/friendly-snippets-- {-- 'rafamadriz/friendly-snippets',-- config = function()-- require('luasnip.loaders.from_vscode').lazy_load()-- end,-- },
},
config=function()
localls=require('luasnip')
ls.add_snippets(nil, require('custom.snippets'))
end
}, 'saadparwaiz1/cmp_luasnip', -- Adds other completion capabilities.-- nvim-cmp does not ship with all sources by default. They are split-- into multiple repos for maintenance purposes.'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-path', "hrsh7th/cmp-cmdline"},
config=function()
-- See `:help cmp`localcmp=require'cmp'localluasnip=require'luasnip'luasnip.config.setup {}
cmp.setup {
window= {
completion=cmp.config.window.bordered(),
documentation=cmp.config.window.bordered()
},
snippet= {
expand=function(args)
luasnip.lsp_expand(args.body)
end
},
completion= {
completeopt='menu,menuone,noinsert'
},
-- For an understanding of why these mappings were-- chosen, you will need to read `:help ins-completion`---- No, but seriously. Please read `:help ins-completion`, it is really good!mapping=cmp.mapping.preset.insert {
-- Select the [n]ext item
['<C-j>'] =cmp.mapping.select_next_item(),
-- Select the [p]revious item
['<C-k>'] =cmp.mapping.select_prev_item(),
-- Scroll the documentation window [b]ack / [f]orward
['<C-b>'] =cmp.mapping.scroll_docs(-4),
['<C-f>'] =cmp.mapping.scroll_docs(4),
-- Accept ([y]es) the completion.-- This will auto-import if your LSP supports it.-- This will expand snippets if the LSP sent a snippet.
['<cr>'] =cmp.mapping.confirm {
select=true
},
-- If you prefer more traditional completion keymaps,-- you can uncomment the following lines-- ['<CR>'] = cmp.mapping.confirm { select = true },-- ['<Tab>'] = cmp.mapping.select_next_item(),-- ['<S-Tab>'] = cmp.mapping.select_prev_item(),-- Manually trigger a completion from nvim-cmp.-- Generally you don't need this, because nvim-cmp will display-- completions whenever it has completion options available.
['<C-Space>'] =cmp.mapping.complete {},
-- Think of <c-l> as moving to the right of your snippet expansion.-- So if you have a snippet that's like:-- function $name($args)-- $body-- end---- <c-l> will move you to the right of each of the expansion locations.-- <c-h> is similar, except moving you backwards.
['<C-l>'] =cmp.mapping(function()
ifluasnip.expand_or_locally_jumpable() thenluasnip.expand_or_jump()
endend, {'i', 's'}),
['<C-h>'] =cmp.mapping(function()
ifluasnip.locally_jumpable(-1) thenluasnip.jump(-1)
endend, {'i', 's'})
-- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see:-- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps
},
sources= {{
name='nvim_lsp'
}, {
name='luasnip'
}, {
name='path'
}}
}
cmp.setup.cmdline(":", {
mapping=cmp.mapping.preset.cmdline({
["<C-j>"] = {
c=function(fallback)
ifcmp.visible() thencmp.select_next_item()
elsefallback()
endend
},
["<C-k>"] = {
c=function(fallback)
ifcmp.visible() thencmp.select_prev_item()
elsefallback()
endend
},
['<CR>'] = {
c=function(default)
ifcmp.visible() thenreturncmp.confirm({
select=true
})
enddefault()
end
}
}),
sources=cmp.config.sources(
{{
name="path"
}},
{{
name="cmdline",
option= {
ignore_cmds= {"Man", "!"}
}
}}
)
})
end
}
The text was updated successfully, but these errors were encountered:
config
The text was updated successfully, but these errors were encountered: