-
-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
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:
modules["b0o/schemastore.nvim"] = {
version = false,
lazy = false,
config = function()
local schemastore_status_ok, _ = pcall(require, "schemastore")
if not schemastore_status_ok then
return
end
local extra_schemas = {
{
description = "Schema for nvim project config",
fileMatch = { "nvim.json", ".nvim.json" },
name = "nvim.json",
url = "file://" .. _G.__os.home .. "/.config/json_schema/nvim.json",
},
}
local schema_path = _G.__os.home .. "/.local/share/nvim/lazy/neoconf.nvim/schemas"
local function add_schema(file)
local name = file:match("(.+)%.json$")
if name then
table.insert(extra_schemas, {
description = "Schema for " .. name,
fileMatch = { "nvim.json", ".nvim.json" },
name = "nvim.json",
url = "file://" .. schema_path .. "/" .. file,
})
end
end
local handle = vim.loop.fs_scandir(schema_path)
if handle then
local name, type
while true do
name, type = vim.loop.fs_scandir_next(handle)
if not name then
break
end
if type == "file" and name:match("%.json$") then
add_schema(name)
end
end
end
require("schemastore").json.schemas({
extra = extra_schemas,
})
end,
}
-- LSP Setup:
M.jsonls_config = function(file_types)
return {
flags = {
debounce_text_changes = default_debounce_time,
},
autostart = true,
filetypes = file_types,
on_attach = function(client, bufnr)
setup_diagnostics.keymaps(client, bufnr)
setup_diagnostics.omni(client, bufnr)
setup_diagnostics.tag(client, bufnr)
if client.server_capabilities.document_highlight then
setup_diagnostics.document_highlight(client, bufnr)
end
setup_diagnostics.document_formatting(client, bufnr)
setup_diagnostics.inlay_hint(client, bufnr)
if client.server_capabilities.documentSymbolProvider then
navic.attach(client, bufnr)
end
end,
capabilities = setup_diagnostics.get_capabilities(),
root_dir = function(fname)
return util.find_git_ancestor(fname) or vim.fn.getcwd()
end,
settings = {
json = {
validate = { enable = true },
schemas = require("schemastore").json.schemas({
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
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?
Metadata
Metadata
Assignees
Labels
No labels