return { { "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, { "groovy" }) 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.npm_groovy_lint, null_ls.builtins.formatting.npm_groovy_lint, }) end end, }, { "neovim/nvim-lspconfig", opts = function(_, opts) if type(opts) == "table" then opts.servers = opts.servers or {} local groovyls_path = "/Users/christian.segundo/git/groovy-language-server" local groovyls_app_path = "build/libs/app-all.jar" local groovyls_cmd = { "java", "-jar", groovyls_path .. "/" .. groovyls_app_path } opts.servers.groovyls = { cmd = groovyls_cmd } end end, }, }