Nvim: make cmp bordered, fix keymap

This commit is contained in:
Marko Korhonen 2024-08-08 11:47:00 +03:00
parent 9882edcd49
commit 5baa4af474
Signed by: FunctionalHacker
GPG key ID: A7F78BCB859CD890

View file

@ -1,4 +1,4 @@
-- Autoompletion -- Auto completion
--- @type LazyPluginSpec --- @type LazyPluginSpec
return { return {
"hrsh7th/nvim-cmp", "hrsh7th/nvim-cmp",
@ -16,6 +16,7 @@ return {
"hrsh7th/cmp-cmdline", -- cmdline source "hrsh7th/cmp-cmdline", -- cmdline source
"saadparwaiz1/cmp_luasnip", -- Snippets source "saadparwaiz1/cmp_luasnip", -- Snippets source
"f3fora/cmp-spell", -- Spell check source "f3fora/cmp-spell", -- Spell check source
"petertriho/cmp-git", -- Git source
-- Copilot source -- Copilot source
{ {
"zbirenbaum/copilot-cmp", "zbirenbaum/copilot-cmp",
@ -35,17 +36,23 @@ return {
-- Set completeopt to have a better completion experience -- Set completeopt to have a better completion experience
vim.o.completeopt = "menuone,noselect" vim.o.completeopt = "menuone,noselect"
local bordered = cmp.config.window.bordered()
cmp.setup({ cmp.setup({
snippet = { snippet = {
expand = function(args) expand = function(args)
luasnip.lsp_expand(args.body) luasnip.lsp_expand(args.body)
end, end,
}, },
window = {
completion = bordered,
documentation = bordered,
},
mapping = { mapping = {
["<C-p>"] = cmp.mapping.select_prev_item(), ["<C-p>"] = cmp.mapping.select_prev_item(),
["<C-n>"] = cmp.mapping.select_next_item(), ["<C-n>"] = cmp.mapping.select_next_item(),
["<C-d>"] = cmp.mapping.scroll_docs(-4), ["<C-d>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4), ["<C-u>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(), ["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.close(), ["<C-e>"] = cmp.mapping.close(),
["<CR>"] = cmp.mapping.confirm({ ["<CR>"] = cmp.mapping.confirm({
@ -111,13 +118,15 @@ return {
}, },
}) })
require("cmp_git").setup()
-- Enable autopairs when enter is processed -- Enable autopairs when enter is processed
-- on completion -- on completion
local cmp_autopairs = require("nvim-autopairs.completion.cmp") local cmp_autopairs = require("nvim-autopairs.completion.cmp")
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done())
-- `/` cmdline setup. -- search cmdline setup.
cmp.setup.cmdline("/", { cmp.setup.cmdline({ "/", "?" }, {
mapping = cmp.mapping.preset.cmdline(), mapping = cmp.mapping.preset.cmdline(),
sources = { sources = {
{ name = "buffer" }, { name = "buffer" },