45 lines
1.0 KiB
Lua
45 lines
1.0 KiB
Lua
|
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 },
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
}
|