A Neovim plugin that provides the SchemaStore catalog for JSON and YAML language servers.
SchemaStore.nvim is a Neovim plugin that integrates the SchemaStore catalog, providing JSON and YAML schemas for language servers like jsonls and yamlls. It enhances the editing experience by offering validation, auto-completion, and documentation for configuration files directly within Neovim. The plugin solves the problem of manually managing schemas for various configuration files, ensuring developers adhere to correct formats effortlessly.
Neovim users who work extensively with JSON and YAML configuration files, such as those managing project configurations, CI/CD pipelines, or IDE settings. It is particularly useful for developers using language servers for JSON and YAML within Neovim.
Developers choose SchemaStore.nvim for its seamless integration with Neovim's LSP ecosystem, providing a vast, up-to-date catalog of schemas without manual setup. Its unique selling point is the flexibility to customize schema selection, ignore unwanted schemas, and add custom schemas, offering a tailored validation experience that outperforms basic language server configurations.
🛍 JSON schemas for Neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates the entire SchemaStore catalog, providing auto-completion and validation for hundreds of common config files like .eslintrc, eliminating manual schema management.
Offers select, ignore, replace, and extra options to tailor schema usage, as shown in the README with examples for overriding package.json or adding local schemas.
Works directly with jsonls and yamlls via lspconfig, enhancing Neovim's language server support with minimal configuration, as demonstrated in setup snippets.
Used by popular Neovim distributions like LazyVim and LunarVim, and has regular CI testing, indicating reliability and community trust.
Requires manual integration with lspconfig and language servers, including disabling yamlls' built-in schemaStore to avoid conflicts, which can be error-prone for beginners.
Only supports JSON and YAML files via specific language servers, leaving out other config formats like TOML, which might require additional plugins or tools.
Relies on the SchemaStore catalog's updates and completeness; missing or outdated schemas necessitate manual extra additions, as admitted in the custom schema support.
Loading the full catalog or multiple schemas can impact Neovim performance, especially on resource-constrained systems, despite selective loading options.