return { -- add json to treesitter { "nvim-treesitter/nvim-treesitter", opts = function(_, opts) if type(opts.ensure_installed) == "table" then vim.list_extend(opts.ensure_installed, { "json", "json5", "jsonc" }) end end, }, -- yaml schema support { "b0o/SchemaStore.nvim", lazy = true, version = false, -- last release is way too old }, -- correctly setup lspconfig { "neovim/nvim-lspconfig", opts = { -- make sure mason installs the server servers = { jsonls = { -- lazy-load schemastore when needed on_new_config = function(new_config) new_config.settings.json.schemas = new_config.settings.json.schemas or {} vim.list_extend(new_config.settings.json.schemas, require("schemastore").json.schemas()) end, settings = { json = { format = { enable = true, }, validate = { enable = true }, }, }, }, }, }, }, }