Tags: weezy20/zv
Tags
feat(zls): add ZLS (Zig Language Server) support (#35) * feat(zls): add compatible ZLS provisioning and zig integration Provision and cache a Zig-compatible ZLS via , and wire optional / flows into and so users can sync editor tooling with version changes. * cargo fmt * feat(sync): backfill ZLS mappings and re-assert shims on zv sync Queries the ZLS release-worker for every locally installed Zig version missing a cached mapping and persists the results in a single zv.toml write, so `zv zls` can skip the API on previously-seen Zigs. Also re-runs deploy_shims idempotently after the mirrors refresh to keep the zls shim wired even when the zv binary was already up to date, and mirrors zls into the public bin alongside zv/zig. * refactor(zls): reuse shared git checkout across source builds Persist a single ZLS clone in the cache directory instead of cloning fresh for every version. Subsequent builds fetch incrementally and reset to a clean checkout, avoiding redundant full clones. * fix(zls): harden artifact parsing and zip extraction - Guard against zip-slip by rejecting archive entries with path traversal (e.g. "../../../zls") using enclosed_name(), with tests - Warn instead of silently skipping malformed ZLS release artifacts in select-version responses - Use dedicated zls_src_dir() when building from source instead of joining "zls-src" inside the function * bump: new version * docs: restructure README — install first, add ZLS section, move migration to docs/ Move the v0.9.x XDG migration guide out of README into docs/migrating-to-xdg.md so install instructions appear first. Add ZLS provisioning section for the new Compatible ZLS already provisioned: 0.16.0 (/home/wz/.local/share/zv/zls/0.16.0/zls) subcommand and --zls flags on use/install. Bump example versions to 0.16.0.
PreviousNext