b0o / SchemaStore.nvim
git clone https://github.com/b0o/SchemaStore.nvim.git
🔥 on GitHub Trending today
Neovim plugin supplying the SchemaStore JSON schema catalog to the jsonls and yamlls language servers.
Why you might care
Gives Neovim's JSON and YAML language servers schema-driven completion, validation, and hover docs for many common config files without manual schema setup. Supports selecting, ignoring, replacing, or extending catalog entries and loading local schema files.
+1
stars, 24h · #19,192
+7
stars, 7 days · #15,727
+~30
stars, 30 days · #19,384
1.0k
★ total · +1% this week
22
forks · 11 open issues
Star history (as recorded here)
LanguageLua
LicenseApache-2.0
Created2021-10-07 (5y ago)
Last push1d ago
Watchers8
OwnerUser
Seen on GitHub Trending
- 2026-10-23 — #8 daily in lua · +1 ★
- 2026-10-23 — #7 weekly in lua · +7 ★
- 2026-10-22 — #6 daily in lua · +1 ★
- 2026-10-22 — #5 weekly in lua · +6 ★
GitHub topics
autocompletionintellisensejsonjson-language-serverjson-schemasjsonlslanguage-server-protocollintinglspluaneovimneovim-pluginnull-lsnvimnvim-pluginschema-registryschemasschemastoreyaml-language-serveryamlls
Links
- GitHub: github.com/b0o/SchemaStore.nvim
- Homepage: https://schemastore.org
- Releases · Issues · Hacker News mentions
README excerpt
# SchemaStore.nvim
A Neovim plugin that provides the SchemaStore catalog for use with jsonls and yamlls.
## Install
Lazy.nvim:
[code]
Packer:
[code]
## Usage
To use SchemaStore.nvim with lspconfig + jsonls:
[code]
For an explanation of why the `validate = { enable = true }` option is recommended, see #8.
yamlls is also supported:
[code]
To use a subset of the catalog, you can select schemas by name (see the catalog for a full list):
[code]
To ignore certain schemas from the catalog:
[code]
Note that the `select` and `ignore` options are mutually exclusive and
attempting to use them together will throw an error.
When using `select` with `extra`, schemas from `extra` are not automatically
included—you must explicitly list them in the `select` array.
To replace certain schemas from the catalog with your own:
[code]
If you want to include additional schemas, you can use `extra`:
[code]
To use a local schema file, specify the path using the `file://` scheme or plain file paths:
[code]
## License
© 2021-2026 Maddison Cohodas and Contributors.
Released under the Apache 2.0 License.
Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.