b0o / SchemaStore.nvim

🛍 JSON schemas for Neovim
https://schemastore.org
Apache License 2.0
726 stars 18 forks source link

Schema versions #24

Open Emptyfruit opened 8 months ago

Emptyfruit commented 8 months ago

I noticed that some objects in the store have versions. Is there a way to specify version for buffer/name/pattern in neovim? I.e. for openapi spec the store has:

{
      description = "A Open API documentation files",
      fileMatch = { "openapi.json", "openapi.yml", "openapi.yaml" },
      name = "openapi.json",
      url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json",
      versions = {
        ["3.0"] = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.0/schema.json",
        ["3.1"] = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"
      }
 }

It seems like for any openapi.yml/json it validates against 3.1. To force it to use 3.0 i had to totally override schema with replace in config. Is there a more proper way to do this?

b0o commented 8 months ago

This is a good question. I tried researching the topic and wasn't able to find anything in either the JSON Schema spec or the VSCode JSON LSP docs/code about it. It's coming from the upstream SchemaStore catalog JSON file, you may want to open an issue in their repo.