-- lua/plugins/cmp.lua return { "hrsh7th/nvim-cmp", event = "InsertEnter", dependencies = { -- Fuente para autocompletado de LSP "hrsh7th/cmp-nvim-lsp", -- Fuente para autocompletado de buffers "hrsh7th/cmp-buffer", -- Fuente para autocompletado de rutas "hrsh7th/cmp-path", -- Motor de snippets "L3MON4D3/LuaSnip", -- Fuente de snippets para nvim-cmp "saadparwaiz1/cmp_luasnip", }, config = function() local cmp = require("cmp") local luasnip = require("luasnip") cmp.setup({ -- Configura el motor de snippets snippet = { expand = function(args) luasnip.lsp_expand(args.body) end, }, -- Fuentes de autocompletado sources = cmp.config.sources({ { name = "nvim_lsp" }, { name = "luasnip" }, { name = "buffer" }, { name = "path" }, }), -- Atajos de teclado para el menú de autocompletado mapping = cmp.mapping.preset.insert({ [""] = cmp.mapping.select_prev_item(), -- Moverse hacia arriba [""] = cmp.mapping.select_next_item(), -- Moverse hacia abajo [""] = cmp.mapping.scroll_docs(-4), -- Scroll en la documentación [""] = cmp.mapping.scroll_docs(4), [""] = cmp.mapping.complete(), -- Mostrar sugerencias [""] = cmp.mapping.abort(), -- Cerrar menú [""] = cmp.mapping.confirm({ select = true }), -- Aceptar sugerencia }), }) end, }