Skip to content

v0.2.0 — LSP Full Experience + Compiler Bug Fixes

Choose a tag to compare

@patrickrizzardi patrickrizzardi released this 21 May 15:03

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 diagnosticscode + data fields on every LSP diagnostic

Other improvements

  • Doc-comment hover: /// doc comments appear in hover popups
  • Completion narrowing: score. shows only int methods when score: 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 ConcreteFoo to dynamic Foo params now compiles when ConcreteFoo follows Foo
  • UFCS const-lend parity: const p; p.heal(20) now errors identically to heal(p, 20) when heal requires lend

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