Skip to content

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 06:26
3a904bb

Features

  • wsformat command-line formatter: format .ws files or whole directories from the terminal, with a --check mode that lists unformatted files without rewriting them
  • Formatting now reads a .wsformat.toml config; the wsformat CLI and your editor both pick up the nearest config in the directory tree and format identically
  • Many more of the game's built-in enums are now defined, so autocomplete and unknown-symbol warnings recognise them
  • Calls with the wrong number of arguments are now flagged: too many arguments, or a missing required (non-optional) one
  • Using parent or virtual_parent outside a state is now flagged as an error

Bug fixes

  • Go-to-definition and type checking now work on a field accessed through an array element, e.g. the .field in arr[i].field
  • Cross-file errors now clear once you fix the file they came from, instead of lingering
  • The wrong-arguments squiggle now underlines the offending arguments, not the function name
  • The formatter no longer drops skipped argument slots (e.g. f(a, , b)) when wrapping a long call
  • // end-of-line comments no longer add or remove blank lines when formatting
  • Member completion now works on a line with no trailing ;
  • Member completion no longer suggests the wrong members when typing before an existing ;
  • Editing a file rapidly no longer occasionally corrupts highlighting and error positions

Improvements

  • A long function call on the right of an assignment now wraps its arguments across lines, matching plain call statements

What's Changed

  • Add wsformat command-line formatter by @webspam in #273
  • Flag calls with the wrong number of arguments by @webspam in #274
  • Fix member access on indexed array elements by @webspam in #275
  • Fix stale cross-file diagnostics by @webspam in #276
  • Flag parent/virtual_parent used outside a state by @webspam in #278
  • Refactor: Remove diagnostics boilerplate by @webspam in #279
  • Fix "incorrect params" diagnostic underlining the function name by @webspam in #280
  • Fix formatter dropping skipped call arguments when wrapping by @webspam in #281
  • Add all unknown enum declarations by @webspam in #282
  • Fix EOL comments corrupting blank-line spacing by @webspam in #283
  • Fix member completion when a line has no semicolon by @webspam in #285
  • Use clippy auto fix by default by @webspam in #286
  • Fix data race corrupting syntax tree offsets by @webspam in #288
  • Fix incorrect completions show in partial line by @webspam in #289
  • Wrap long assignment call arguments across lines by @webspam in #290
  • Add a precommit recipe and slim down just test by @webspam in #291
  • Version 0.12.0 by @webspam in #292

Full Changelog: v0.11.0...v0.12.0