return { { "folke/neodev.nvim", lazy = true, opts = {} }, { "nvim-treesitter/nvim-treesitter", opts = function(_, opts) if type(opts) == "table" then opts.ensure_installed = opts.ensure_installed or {} vim.list_extend(opts.ensure_installed, { "lua" }) end end, }, { "jose-elias-alvarez/null-ls.nvim", opts = function(_, opts) if type(opts) == "table" then opts.sources = opts.sources or {} local null_ls = require("null-ls") vim.list_extend(opts.sources, { null_ls.builtins.diagnostics.selene, null_ls.builtins.formatting.stylua, }) end end, }, { "neovim/nvim-lspconfig", opts = function(_, opts) if type(opts) == "table" then opts.servers = opts.servers or {} opts.on_attach = opts.on_attach or {} opts.servers.lua_ls = { on_attach = function(client, _) client.server_capabilities.documentFormattingProvider = false client.server_capabilities.documentRangeFormattingProvider = false end, } end end, dependencies = { "folke/neodev.nvim", }, }, }