Open Ajaymamtora opened 2 months ago
In json files that don't match my patterns, the LSP suggests $schema
and then a bunch of nonsense - not sure what happened here?
None of these exist in my local schemas
Calling schemastore.json.schemas()
does not mutate the underlying catalog, it returns a deep copy of the catalog with the extra schemas added. Therefore, this will have no effect:
modules["b0o/schemastore.nvim"] = {
version = false,
lazy = false,
config = function()
-- ...
require("schemastore").json.schemas({
extra = extra_schemas,
})
end,
}
You will need to modify your config to pass extra_schemas
here:
-- LSP Setup:
M.jsonls_config = function(file_types)
return {
-- ...
settings = {
json = {
validate = { enable = true },
schemas = require("schemastore").json.schemas({ -- pass extra_schemas to this call
extra = {
{
description = "Schema for nvim project config",
fileMatch = { "nvim.json", ".nvim.json" },
name = "nvim.json",
url = "file://" .. _G.__os.home .. "/.config/json_schema/nvim.json",
},
},
}),
},
},
}
end
Thanks, I've updated it as you suggested and temporarily simplified it like so:
local extra_schemas = {
{
description = "ASTRO",
fileMatch = { "nvim.json", ".nvim.json" },
name = "nvim.json",
url = "/Users/ajay.mamtora/.local/share/nvim/lazy/neoconf.nvim/schemas/astro.json",
},
}
...
settings = {
json = {
validate = { enable = true },
schemas = require("schemastore").json.schemas({
extra = extra_schemas,
}),
},
},
And the jsonls lsp isn't suggesting properties defined in "https://github.com/folke/neoconf.nvim/blob/main/schemas/astro.json" -- am I misunderstanding something?
All I see is this:
Hi I can't get this plugin to suggest anything from local schema files in jsonls.
I'm loading the local schemas (1 of my own, the rest being these https://github.com/folke/neoconf.nvim/blob/main/schemas) via my setup:
It successfully adds to extras but nothing is suggested by the LSP at all.
I'm triggering nvim cmp in files named nvim.json and .nvim.json and neither works
Please can I have some help?