return { { "VonHeikemen/lsp-zero.nvim", branch = "v2.x", lazy = true, config = function() require("lsp-zero.settings").preset({}) end, }, { "hrsh7th/nvim-cmp", event = "InsertEnter", dependencies = { { "L3MON4D3/LuaSnip" }, }, config = function() require("lsp-zero.cmp").extend() local cmp = require("cmp") local cmp_action = require("lsp-zero.cmp").action() cmp.setup({ mapping = { [""] = cmp.mapping.complete(), [""] = cmp_action.luasnip_jump_forward(), [""] = cmp_action.luasnip_jump_backward(), [''] = cmp.mapping.confirm({ select = true }), }, }) end, }, -- LSP { "neovim/nvim-lspconfig", cmd = "LspInfo", event = { "BufReadPre", "BufNewFile" }, dependencies = { { "hrsh7th/cmp-nvim-lsp" }, { "williamboman/mason-lspconfig.nvim" }, { "williamboman/mason.nvim" }, }, config = function() local lsp = require("lsp-zero") lsp.on_attach(function(client, bufnr) lsp.default_keymaps({ buffer = bufnr }) end) require("lspconfig").lua_ls.setup(lsp.nvim_lua_ls()) lsp.setup() end, }, }