yayamlls
YAML language server in Go: schema-driven diagnostics, completion, hover, and Flux rendering.
How to install
With Forge Super installed, the button above opens the app on this extension, where you press Install. Nothing is installed until you do.
You can also open the Extensions panel in the app and search for yayamlls. The extension's id is yayamlls.
Don't have Forge Super yet? Download it here.
README
From the extension's repository, written by its authors and not by Mentenaz. See the source.
yayamlls for Zed
Registers yayamlls as a language
server for Zed's built-in YAML language. The extension downloads the release
binary matching your OS/arch on first use.
Develop / test locally
Zed → command palette → zed: install dev extension, then select this
directory. Zed compiles the Rust crate to WASM (wasm32-wasip1) for you; you
only need the toolchain installed (rustup target add wasm32-wasip1).
[!NOTE] Gram, a Zed fork, installs this same extension but compiles to
wasm32-wasip2instead. If you use both editors, install both targets — they coexist fine.
Make yayamlls the only YAML server
Zed bundles yaml-language-server. To run yayamlls instead, in
~/.config/zed/settings.json:
{
"languages": {
"YAML": {
"language_servers": ["yayamlls", "!yaml-language-server"],
},
},
}
Configuration
Pass server options under the yayamlls LSP key; they are forwarded verbatim as
initializationOptions:
{
"lsp": {
"yayamlls": {
"binary": {
"path": "/usr/local/bin/yayamlls", // optional: skip the download
},
"initialization_options": {
"catalog": true,
"schemas": {
"https://json.schemastore.org/github-workflow.json": [
".github/workflows/*.yml",
],
},
},
},
},
}
Publish
Open a PR adding this extension to
zed-industries/extensions
(commit Cargo.lock).