adding nvim-cmp

This commit is contained in:
Juan Miguel Rua 2024-04-30 23:41:00 +02:00
parent db882645be
commit 35e0890f10
4 changed files with 65 additions and 2 deletions

View File

@ -926,7 +926,7 @@ require('lazy').setup({
require 'kickstart.plugins.debug', require 'kickstart.plugins.debug',
require 'kickstart.plugins.indent_line', require 'kickstart.plugins.indent_line',
-- require 'kickstart.plugins.lint', -- require 'kickstart.plugins.lint',
-- require 'kickstart.plugins.autopairs', require 'kickstart.plugins.autopairs',
-- require 'kickstart.plugins.neo-tree', -- require 'kickstart.plugins.neo-tree',
-- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps -- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps

View File

@ -0,0 +1,56 @@
local M = {
'hrsh7th/nvim-cmp',
dependencies = {
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-nvim-lua',
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-path',
'hrsh7th/cmp-cmdline',
'saadparwaiz1/cmp_luasnip',
'L3MON4D3/LuaSnip',
},
}
M.config = function()
local cmp = require 'cmp'
vim.opt.completeopt = { 'menu', 'menuone', 'noselect' }
cmp.setup {
snippet = {
expand = function(args)
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
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 = 'nvim_lua' },
{ name = 'luasnip' }, -- For luasnip users.
-- { name = "orgmode" },
}, {
{ name = 'buffer' },
{ name = 'path' },
}),
}
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' },
}, {
{ name = 'cmdline' },
}),
})
end
return M

View File

@ -9,7 +9,7 @@ return {
term_colors = true, term_colors = true,
custom_highlights = function(colors) custom_highlights = function(colors)
return { return {
Comment = { fg = colors.subtext1 }, Comment = { fg = colors.overlay0 },
TabLineSel = { bg = colors.teal }, TabLineSel = { bg = colors.teal },
CmpBorder = { fg = colors.surface2 }, CmpBorder = { fg = colors.surface2 },
StatusLine = { fg = colors.blue }, StatusLine = { fg = colors.blue },

View File

@ -12,5 +12,12 @@ return {
local cmp_autopairs = require 'nvim-autopairs.completion.cmp' local cmp_autopairs = require 'nvim-autopairs.completion.cmp'
local cmp = require 'cmp' local cmp = require 'cmp'
cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done()) cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done())
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.
}
end, end,
} }