Schema-pinned validation, completion, and hover for Kubernetes-style YAML in the Zed editor, backed by the SchemaLock CDN.
Registers the schemalock language server for YAML files. In a project rooted at
a schemalock.yaml, owned resources (e.g. a VMCluster) get completion, hover, and
diagnostics from the schema pinned by the nearest schemalock.yaml. Unowned YAML
is transparently proxied to yaml-language-server.
This is a thin client. The actual language server is the schemalock binary; the
extension downloads the pinned per-platform build (currently v0.3.2) from the
public SchemaLock CDN (cdn.schemalock.dev/bin/<tag>/) on first use and caches it.
Not available: the schema-version status-bar picker shipped in the VS Code and JetBrains clients is not present here — Zed extensions have no custom-UI API.
- Network access on first use (to download the binary from
cdn.schemalock.dev). - A supported platform: macOS (arm64/x64), Linux (arm64/x64), Windows (x64).
If you see duplicate diagnostics or completions, Zed's built-in YAML language
server is running alongside SchemaLock. SchemaLock already proxies to
yaml-language-server internally, so make it the sole YAML server in your Zed
settings:
rustup target add wasm32-wasip2 # the target Zed compiles extensions for
cargo build --release --target wasm32-wasip2 # verify it compiles
cargo test -p schemalock-zed-core # run unit testsThen in Zed: command palette → zed: install dev extension → select this
directory. Zed builds the extension itself for wasm32-wasip2 using a
rustup-managed toolchain, so that target must be installed (the command above
adds it).
{ "languages": { "YAML": { "language_servers": ["schemalock", "!yaml-language-server"] } } }