Skip to content

vilan 0.12.0

Choose a tag to compare

@github-actions github-actions released this 23 Jul 22:51
3a56318

The editor grew up. Completing a function now inserts a real call — tab-through parameter placeholders by default (greet(name, times)), parens-only or plain-name via the new vilan.completion.functionCall setting — with the full signature and /// doc shown right in the suggestion popup and parameter hints opening as you land in the parens (completing a callee you already parenthesized, or a function passed as a value, stays bare). Hover now answers everywhere: variables show their typed binding, parameters show their declared convention (own x: T, x: &mut T), and every keyword explains itself in one line with a deep link into the book. Organize Imports sorts and prunes: unused imports and brace-set branches are removed conservatively (never while the file has errors, never re-exports, never an import that only a derive's generated code uses — the compiler knows), with an opt-in vilan.organizeImports.onSave. Inlay hints and semantic tokens gained toggles, every setting applies live, and — pinned by a thirteen-test guarantee — the language server keeps working in files with errors: hover, navigation, completion, and the outline all serve the parsed remainder on both sides of a typo.

vilan fmt sorts imports, and import order stopped mattering. Top-level imports format into one canonical order (std first, then dependencies, then pkg; brace sets alphabetized; comments travel with their line; block-scoped imports deliberately untouched) — and underneath it, the compiler now walks modules in a canonical order too, so the emitted JavaScript is byte-identical no matter how your imports are arranged. Reordering an import can never again churn your build output.

The extension ships its licenses (MIT OR Apache-2.0) in the package, ready for the marketplace.