return { "neovim/nvim-lspconfig", opts = function(_, opts) -- See :Mason (scroll down a bit) for what is probably a list of options. -- Or see https://github.com/williamboman/mason-lspconfig.nvim (again, scroll down a bit) ----------------------------------------------------------------- -- See also my_mason.lsp! These are defined in two places!!!!! - ----------------------------------------------------------------- local servers = { "angularls", "ast_grep", "bashls", "clangd", "cssls", "docker_compose_language_service", "dockerls", "dotls", "eslint", "gopls", "groovyls", "helm_ls", "html", "intelephense", "jdtls", "jsonls", "lua_ls", "marksman", "nginx_language_server", "pbls", "puppet", "ruff", "rust_analyzer", "sqlls", "terraformls", "taplo", "ts_ls", "vimls", "yamlls", "zls", } if not opts.servers then opts.servers = {} end for _, server in ipairs(servers) do opts.servers[server] = opts.servers[server] or {} end for _, server in ipairs(servers) do opts.servers[server].enabled = true end -- https://neovim.io/doc/user/lua.html#vim.filetype.add() vim.filetype.add({ extension = { -- You could argue this should be gnuplot. But officially, gnuplot doesn't Have a file extension. -- gp = "groovy", }, filename = { ["docker-compose.yml"] = "yaml.docker-compose", ["docker-compose.yaml"] = "yaml.docker-compose", ["compose.yml"] = "yaml.docker-compose", ["compose.yaml"] = "yaml.docker-compose", ["docker-compose.dev.yml"] = "yaml.docker-compose", ["docker-compose.dev.yaml"] = "yaml.docker-compose", ["Jenkinsfile"] = "groovy", ["Jenkinsfile.gp"] = "groovy", ["Chart.yaml"] = "helm", ["values.yaml"] = "helm", }, -- For some reason pattern never worked. The filename stuff above did though. -- https://neovim.io/doc/user/lua.html#vim.filetype.add() pattern = { [".*/docker-compose%..*%.yml"] = "yaml.docker-compose", [".*/docker-compose%..*%.yaml"] = "yaml.docker-compose", }, }) end, }