Scony Godot Gdscript Toolkit Versions Save

Independent set of GDScript tools - parser, linter, formatter, and more

4.2.2

5 months ago

Changed

  • Fixed support for r-strings

4.2.1

5 months ago

Added

  • Added support for multiline patterns within match statement branches
  • Added support for r-strings

4.2.0

5 months ago

Added

  • Added support for breakpoint statement
  • Added support for function-level annotations
  • Added support for typed for loop iterator (#241)
  • Added the --use-spaces=<int> option to gdformat so that space-based indentations can be used instead of tab-based ones

Changed

  • Fixed max-public-methods linter check disabling (#222)
  • Default regex for names of constants now allows underscore as a prefix to denote private contants (#223)
  • Fixed parsing of files without newline at the end of file ending with comment (#237)
  • Fixed linter support for docstrings (#233)
  • Fixed linter support for trailing comma in function's args list (#206)
  • Fixed linter support for static variables and classnames bundled with extends (#242)
  • Enforced function statement annotations to be formatted to separate lines (#252)

4.1.0

10 months ago

Added

  • Added support for not in operator
  • Added support for static class variables

Changed

  • Improved exceptions formatting

4.0.1

1 year ago

Added

  • Added support for user-defined types in type hints
  • Added support for annotations with empty argument list (e.g. @onready())
  • Added support for power operator **

Fixed

  • Fixed max-returns check's message
  • Fixed formatting of static functions

3.5.0

1 year ago

Added

  • Added support for multiline preload expression formatting (was fixed in Godot)
  • Added full UTF-8 support

4.0.0

1 year ago

Added

  • Added new GDScript 2.0 constructs to the core testcases
  • Added support for await
  • Added support for typed arrays
  • Added support for annotations
  • Added support for unique node names
  • Added support for property etters
  • Added support for inline-lambdas
  • Added support for func-level constants
  • Added support for typed signal arguments

Changed

  • Removed support for legacy (Godot 3.x) GDScript from core testcases
  • Updated lark dependency to the latest release - 1.1.5
  • Improved subscr_expr/getattr/getattr_call chains formatting

3.4.0

2 years ago

Added

  • Added no-elif-return linter check
  • Added no-else-return linter check
  • Added gd2py (GDScript-to-python) converter tool
  • Added gdradon code metrics tool

Fixed

  • Workarounded a lark error impacting pretty print in frontends
  • Fixed lack of trailing comma handler in some corner cases
  • Fixed lack of support for plus prefixed expressions
  • Fixed lack of support for Vector2/3() in match patterns
  • Fixed formatter's corner case in func()

3.3.1

2 years ago

Added

  • Added support for export onready var statement on class level
  • Added support for mastersync and puppetsync functions
  • Added support for standalone comments in expressions (except for few corner-cases)
  • Added --diff option to gdformat which acts the same as --check, but with additional difference printing
  • Added support for single line pattern formatting (forced for now)
  • Added --fast option to gdformat to skip safety checks (thus being faster)

Fixed

  • Fixed exception handling in gdparse, gdlint, and gdformat
  • Fixed adding newlines around non-standard functions like static func, master func etc.
  • Fixed if-stmt-related corner case where formatting shred a colon

Changed

  • Changed formatter to keep going despite failures

3.3.0

2 years ago

Added

  • Added support for pass statement on class level
  • Added a possibility to disable linter checks in range from e.g. # gdlint: disable=function-name to # gdlint: enable=function-name
  • Added support for puppet var
  • Added string formatting according to GDScript style guide ('x' -> "x", '"' -> '"'. "'" -> "'", '"\'' -> "\"'")
  • Added linter option tab-characters that allows treating tabs as multiple characters while calculating line length

Fixed

  • Fixed comment persistence check
  • Improved comments handling
  • Improved utf08 support
  • Fixed type cast (e.g. 1 as String) to always be in one line (this is forced by Godot's bug)

Changed

  • Removed support for legacy (godot 3.1) parenthesesless assert (e.g. assert 1 == 1) due to grammar conflict with modern (godot 3.2 assert)
  • exclamation-mark-based not-test expression will be now formatted without space (!(1==1) instead of ! (1==1)) while for not the behaviour remains the same (not (1==1))
  • Removed whitespace from export (...) - will be formatted as export(...) from now on