Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By harshanacz
Schema-aware XML language intelligence powered by xerces-wasm.
npx claudepluginhub harshanacz/xml-lsp-marketplace --plugin xml-lspLSP (Language Server Protocol) wrapper around xml-language-service.
Connects any LSP-compatible editor (VS Code, Neovim, etc.) to the XML language features.
VS Code / Editor ──JSON-RPC over stdio──► xml-language-server ──in-process──► xml-language-service
◄──diagnostics push── └─ Xerces WASM (XSD)
src/
├── server.ts — entry point; LSP lifecycle (initialize, config, shutdown) + bootstrap
├── requestHandlers.ts — registers all LSP request handlers (completion, hover, symbols, etc.)
├── diagnosticsHandler.ts — XSD schema loading, validation via Xerces WASM, pushes diagnostics to client
├── configuration.ts — schema association config (SchemaConfig, applySchemaSettings)
└── utils.ts — string helpers + LSP ↔ xml-language-service type adapters
initialize, the server reads schema associations from initializationOptions and registers them.onInitialized, it fetches xmlLanguageServer.schemas from the editor workspace config and applies them.DiagnosticsHandler resolves the matching XSD schema (by filename or namespace), loads all xs:include/xs:import references from disk, and pushes validation diagnostics back to the editor.xml-language-service.In your editor's workspace settings, map file patterns to local XSD schemas:
"xmlLanguageServer.schemas": [
{ "pattern": "**/*.synapse.xml", "xsdPath": "schemas/synapse.xsd" },
{ "pattern": "**/proxy-*.xml", "xsdPath": "schemas/proxy.xsd" }
]
xsdPath can be absolute or relative to the workspace root. The server automatically follows xs:include/xs:import chains in the XSD (up to 10 levels deep, 200 files, 20 MB total).
| Feature | Trigger |
|---|---|
| Completion | <, space, ", / |
| Hover | cursor over element / attribute |
| Document symbols | outline panel |
| Folding ranges | editor fold gutter |
| Rename | rename an XML tag (open + close updated together) |
| Go to definition | navigate to matching tag |
| Find references | find all usages of a tag |
| Formatting | format document command |
| Diagnostics | pushed on every document change |
xml-language-service — core libraryxml-language-server — this packageShare bugs, ideas, or general feedback.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Rust language server
YAML language server
Validation and quality enforcement for Tailwind CSS projects with comprehensive utility-first CSS patterns and best practices.
Bash language server
Advanced Angular skills for dependency injection, RxJS, and signals.
Kotlin language server
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claim