[stable] Types, icons, multiline tabs


Summary

  • Many menus now have icons
  • There are now more tab options, including pinned and multiline tabs.
  • There are now more types for hinting and error checking (tuples, custom-key arrays, automatic tuples for enum-based values - see docs)
  • Linter and auto-completion are now even smarter in general
  • Outline View has more options

(see July and August devlogs for more information)

Improvements (since Aug 23 beta)

  • Outline View is now a little better at showing Markdown headers
    (… as if anyone but me uses that)
  • Variable type inference will now mark variables as arrays when doing arr[i] = val without arr = []
  • You can now navigate to files that aren’t technically in the project tree but are open in one of the tabs
  • You can now apply @is to static declarations
  • User namespaces can now implement “special” interfaces (“struct”, “minus1able”, “nullable”)
  • Added even more checks for loading 2.2 projects that spit out warnings into JS console if something is definitely off (e.g. having a GUID collision among extension files causes a project to be un-importable to 2.3, which this detects).
  • Added an option to auto-infer types when using := to assign (currently for local variables)
  • A local var v:T? can be safely cast to T if it’s inside a check for v != undefined.
  • Added support for 2.3.7’s func(,,) (dummy-arguments for undefined)

Fixes (since Aug 23 beta)

  • Fixed an issue with renaming scripts in 2.3
  • Fixed variable assignments after a with-block not being picked up for implicit types unless in a function
  • Fixed bookmarks not showing in non-GML gutters
  • Fixed a few variously exotic issues with syntax highlighting
  • Fixed gen-enum-names breaking on JSDoc containing {}
  • Fixed some preprocessors breaking on var a := ...
  • `buffer_auto_type can now appear multiple types across a single function definition
  • Fixed various little mishaps with API definitions and updated to 2.3.7
  • Fixed several edge cases with var declarations not ending with a ;

Files

GMEdit-Windows.zip 76 MB
Version Dec 6, 2021 Dec 06, 2021
GMEdit-Mac.zip 80 MB
Version Dec 6, 2021 Dec 06, 2021
GMEdit-Linux.zip 78 MB
Version Dec 6, 2021 Dec 06, 2021
GMEdit-App-Only.zip 4 MB
Version Dec 6, 2021 Dec 06, 2021

Get GMEdit

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

We don't deserve an editor as good as this is...

Quick question, what's the use of pinned tabs in a single line tab bar? 

And would it be possible to have locked tabs that can only be closed with mouse (can't even count times I closed output tab with careless CTRL+W).

(+1)

Pinned tabs do not get closed with “close other tabs” shortcut/menu option. I can add a setting to prevent closing pinned tabs with Ctrl+W as well.

I would love to have such option! My CTRL+W instincts do not mesh well with multiple functions in a single script file.

(+4)

Huge thanks for continuing to support this. It's been my preferred way to write GML for over a year now and I try to recommend it to others whenever I can.