[stable, beta] GM updates


Improvements

  • vars argument of instance_create_* is now type-checked
  • Added type definitions for time sources
  • Static variables (except for those in constructors) are now highlighted as local to match IDE behaviour
  • Create/constructor type inference is now aware of already-set variable types (so a = 1; b = a; types b as number)
  • Added support for 2022.11 1_000
  • Added typed signatures for helper functions from 2022.11

Fixes

  • Fixed a few more edge cases with function signature parser
  • Fixed [$] accessor in create events/constructors causing variables to be recognized as arrays instead of structs
  • More fixes for “collision with self” events not opening under increasingly more exotic circumstances
  • Fixed if (func()) not being considered wrapped by linter
  • Fixed arguments of static functions in constructors not highlighting right

Files

GMEdit-Windows.zip 98 MB
Version Dec 24, 2022 Dec 24, 2022
GMEdit-Windows-32bit.zip 94 MB
Version Dec 24, 2022 Dec 24, 2022
GMEdit-Mac.zip 90 MB
Version Dec 24, 2022 Dec 24, 2022
GMEdit-Mac-ARM64.zip 94 MB
Version Dec 24, 2022 Dec 24, 2022
GMEdit-Linux.zip 92 MB
Version Dec 24, 2022 Dec 24, 2022
GMEdit-App-Only.zip 11 MB
Version Dec 24, 2022 Dec 24, 2022
GMEdit-Beta-Windows.zip 98 MB
Version Dec 24, 2022 Dec 24, 2022
GMEdit-Beta-Windows-32bit.zip 94 MB
Version Dec 24, 2022 Dec 24, 2022
GMEdit-Beta-Mac.zip 90 MB
Version Dec 24, 2022 Dec 24, 2022
GMEdit-Beta-Mac-ARM64.zip 94 MB
Version Dec 24, 2022 Dec 24, 2022
GMEdit-Beta-Linux.zip 92 MB
Version Dec 24, 2022 Dec 24, 2022
GMEdit-Beta-App-Only.zip 11 MB
Version Dec 24, 2022 Dec 24, 2022

Get GMEdit

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

Having this slightly strange syntax highlighting with constructors, although it might be intentional.

Static variables set to functions are highlighted like functions, while ones set to methods are highlighted like instance variables. Also arguments and variables inside sub-functions get highlighted the same as the constructor’s arguments if they share the same name.

Nothing major, I just figure it’s worth reporting.

Also are binary literals meant to be supported? I assume not, since they don’t do any highlighting and display an error in the sidebar right now

  • The rules are that instance and constructor variables initialized with a function will be highlighted as a function, though I could extend that to method() call as well.
  • Local variables from different “depth” levels fight with each other, it’s a broader issue that’s hard to address.
  • I apparently forgot about binary literals while adding support for 1_000