- Added support for @abstract functions
- Added support for variadic functions
- Fixed formatting of
@warning_ignore_startand@warning_ignore_restore - Fixed formatting of
shadowed_variable*ignore annotations - Fixed formatting of
@warning_ignoreannotations in functions - Fixed linter bug involving get/set functions
- Fixed linter problem reports when global scope is used
- Fixed formatting of certain
@warning_ignoreannotations
- Fixed false-positive
expression-not-assignedlinter check on lambdas - Fixed erroneous DedentError raised in case of inline lambas
- Added support for multi-statement lambdas (#191)
- Added support for typed dictionaries (#322)
- Removed
private-method-calllinter check due to false positives when callingsuper._foo() - Fixed support for
get_nodesyntax to accommodate for$/(...) - Fixed
gd2pyandgdradonto support latest GDScript - Changed formatting of some uni-statement lambdas
- Changed formatting of multi-statement, inline lambdas
- Changed formatting of dot-chains containing a lambda(s)
- Changed linter check
class-definitions-orderin a way that static class variables are recommended to be placed just after constants
- Added support for
is nottype test
- Added
gdformatrcconfiguration file togdformat - Added support for Allman-style enum definitions to parser
- Added support for string-based unique node names
- Added support for properties in
gd2py - Added support for
get():property syntax - Added support for multiline arrays and dictionaries in
matchstatement branches - Added support for guarded
matchbranches
- Fixed support for
breakpointstatement in formatter - Fixed nested unique name (
%)
- Fixed support for r-strings
- Added support for multiline patterns within
matchstatement branches - Added support for r-strings
- Added support for
breakpointstatement - Added support for function-level annotations
- Added support for typed
forloop iterator (#241) - Added the
--use-spaces=<int>option togdformatso that space-based indentations can be used instead of tab-based ones
- Fixed
max-public-methodslinter 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)
- Added support for
not inoperator - Added support for
staticclass variables
- Improved exceptions formatting
- 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
max-returnscheck's message - Fixed formatting of
staticfunctions
- Added new GDScript
2.0constructs 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
- Removed support for legacy (Godot
3.x) GDScript from core testcases - Updated
larkdependency to the latest release -1.1.5 - Improved
subscr_expr/getattr/getattr_callchains formatting
- Added
no-elif-returnlinter check - Added
no-else-returnlinter check - Added
gd2py(GDScript-to-python) converter tool - Added
gdradoncode metrics tool
- 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()inmatchpatterns - Fixed formatter's corner case in
func()
- Added support for
export onready varstatement onclasslevel - Added support for
mastersyncandpuppetsyncfunctions - Added support for standalone comments in expressions (except for few corner-cases)
- Added
--diffoption togdformatwhich acts the same as--check, but with additional difference printing - Added support for single line pattern formatting (forced for now)
- Added
--fastoption togdformatto skip safety checks (thus being faster)
- Fixed exception handling in
gdparse,gdlint, andgdformat - Fixed adding newlines around non-standard functions like
static func,master funcetc. - Fixed if-stmt-related corner case where formatting shred a colon
- Changed formatter to keep going despite failures
- Added support for
passstatement onclasslevel - Added a possibility to disable linter checks in range from e.g.
# gdlint: disable=function-nameto# gdlint: enable=function-name - Added support for
puppet var - Added string formatting according to
GDScript style guide('x'->"x",'"'->'"'."'"->"'",'"\''->"\"'") - Added linter option
tab-charactersthat allows treating tabs as multiple characters while calculating line length
- Fixed comment persistence check
- Improved comments handling
- Improved utf-8 support
- Fixed type cast (e.g.
1 as String) to always be in one line (this is forced by Godot's bug)
- Added support for legacy (godot
3.1) parentheseslessassert(e.g.assert 1 == 1) - Added support for recursive file finding in
gdlint(e.g.gdlint dir1/ dir2/) - Added pre-commit hooks which can consumed by
pre-commitproject - Added a possibility to ignore linter checks inplace (e.g.
# gdlint: ignore=function-nameinline or in the line before) - Added support for underscored numeric literals such as
1_000_000,1_000.000, and0xff_99_00
- Introduced WA for Godot's
preloadbug - Improved formatter to remove trailing whitespaces also from comments
- Added missing
class_name (...) extends (...)statement support in grammar and formatter - Fixed false positive
TreeInvariantViolationforneg_expr var x = load('some.tres')is allowed since it may be custom resource instance loading
- Added missing expression operators (
^=,>>=, and<<=)
- Improved comment parsing time by a tiny chunk
- Improved formatting time due to loosen grammar removal
- Improved formatting time due to grammar caching
- Improved formatting time due to parse tree reuse in safety checks
- Fixed bug in grammar causing func suite to consume statements from outer scope
- Enum doesn't add trailing comma unless it was in place from the very beginning
- Level-0 standalone comments are not indented anymore
- Formatting strings with hash inside
- Fixed getattr call formatting bug
- Fixed 'extends' formatting bug
- Fixed parent block comments in if-elif-else
- Fixed parentheses handling in formatter
- Improved fromatter's dedent lookup
- Fixed 'extends' bug in grammar
- Fixed grammar - types allow dots now
- Type inference in grammar
- Improved linter exec user experience
- Fixed linter hanging on config file not present
- Missing grammar file added
- Package metadata
- Grammar
- Parser (
gdparse) - Linter (
gdlint) with some basic checks - Formatter (
gdformat) which should work for most of real-life scenarios