v0.2.0 — LSP Full Experience + Compiler Bug Fixes
v0.2.0 — LSP Full Experience + Compiler Bug Fixes
This release closes out the v0.2 dev-loop series and ships the full editor experience.
8 new LSP capabilities
- Go-to-definition — Cmd+click any identifier → jumps to declaration (cross-file)
- Find All References — lists every use-site across the project
- Rename — F2 atomic rename; validates against Yinz keywords and banned jargon
- Format on save — delegates to
ynz-fmt; normalizes to LF line endings - Inlay hints — type annotations, ownership modifiers, auto-promotion hints
- Code actions — quick-fix for every diagnostic with a WHAT-INSTEAD
- Semantic tokens — richer color differentiation (keywords / types / functions / variables)
- Structured diagnostics —
code+datafields on every LSP diagnostic
Other improvements
- Doc-comment hover:
///doc comments appear in hover popups - Completion narrowing:
score.shows only int methods whenscore: int ynz build --json: NDJSON diagnostic output for CI/tooling. Schema stable at"v0.2.0".
3 compiler correctness fixes
- Hidden-field default eval:
hidden bar: string = "default"now evaluates to"default"instead of null - Dynamic-dispatch coercion: passing a
ConcreteFootodynamic Fooparams now compiles whenConcreteFoo follows Foo - UFCS const-lend parity:
const p; p.heal(20)now errors identically toheal(p, 20)whenhealrequireslend
Install
curl -L https://github.com/yinzers/yinz-lang/releases/latest/download/yinz-latest.vsix -o yinz-latest.vsix
code --install-extension yinz-latest.vsix