1
0
Fork 0
Commit Graph

3601 Commits

Author SHA1 Message Date
Pāvels Nadtočajevs 89c55f638d
Fix GDScript stack leak. 2025-04-27 23:15:35 +03:00
Thaddeus Crews dc9c34f0c6
SCons: Add enum conversion warning 2025-04-26 12:06:20 -05:00
Malcolm Anderson 5c662f7707 Add errors for keywords removed in Godot 4
Update modules/gdscript/gdscript_parser.cpp

Co-authored-by: Danil Alexeev <dalexeev12@yandex.ru>

Improve error message

Add tests

Add errors for other removed keywords

Remove very old keywords and improve wording of errors
2025-04-24 22:32:34 -07:00
Thaddeus Crews 28089c40c1
Merge pull request #91006 from reduz/live-backtrace
Ability to print and log script backtraces
2025-04-24 17:18:52 -05:00
reduz d1dcb40d56 Ability to print and log script backtraces
Co-authored-by: Mikael Hermansson <mikael@hermansson.io>
2025-04-24 18:54:41 +02:00
Thaddeus Crews 5d697c31c1
Merge pull request #78837 from dalexeev/gds-const-array-and-dict-constructors
GDScript: Add constant `Array` and `Dictionary` constructors
2025-04-24 09:09:29 -05:00
Dynamic-Pistol c8fed1e1d0 Add PROPERTY_HINT_INPUT_NAME
Added PROPERTY_HINT_INPUT_NAME for StringName based off https://github.com/godotengine/godot-proposals/discussions/7559
2025-04-23 22:23:44 +02:00
Lukas Tenbrink 91fe434a86 Always use `String` as `StringName` backing internally. 2025-04-23 14:57:03 +02:00
Thaddeus Crews e61a0e8c61
Merge pull request #105344 from the-loki/master
Fix LSP not returning expected localization for API docs.
2025-04-18 12:21:23 -05:00
HolonProduction 3f0ff0417c Autocompletion: Remove additional brace from utility function options 2025-04-15 13:25:28 +02:00
HolonProduction 4a0e40f6ea GDScript: Do phrase level recovery for match 2025-04-15 13:00:43 +02:00
HolonProduction e213737d66 LSP: Account for unicode identifiers 2025-04-15 09:51:50 +02:00
Thaddeus Crews bef5d1e4f8
Merge pull request #102218 from HolonProduction/dictionary-recovery
GDScript: Do phrase level recovery when parsing faulty dictionaries
2025-04-14 19:39:50 -05:00
Thaddeus Crews 6989a0897c
Merge pull request #105287 from Calinou/doc-gdscript-nan
Improve documentation on `is_nan()` and `NAN` constant
2025-04-14 19:39:49 -05:00
Thaddeus Crews af252823ac
Merge pull request #101291 from Ivorforce/stringname-to-bool
Change `StringName.operator const void *` to `explicit operator bool`.
2025-04-14 19:39:45 -05:00
loki7 23a2481abc Fix LSP not returning expected localization for API docs. 2025-04-13 19:51:16 +08:00
Hugo Locurcio a0b796218a
Improve documentation on `is_nan()` and `NAN` constant 2025-04-11 20:25:16 +02:00
Thaddeus Crews 0d267e7b1e
Core: Add dedicated `BitField` template 2025-04-11 11:53:26 -05:00
Lukas Tenbrink e989d7bd89 Change `StringName.operator const void *` to `explicit operator bool`. 2025-04-11 18:34:01 +02:00
Thaddeus Crews 717df3ee88
Merge pull request #105249 from Repiteo/core/math-defs-namespace
Core: Use `Math` namespace for constants
2025-04-11 09:51:04 -05:00
Thaddeus Crews 9e158215d1
Merge pull request #96375 from HolonProduction/completion-callable-braces
Autocompletion: Don't add parenthesis if `Callable` is expected
2025-04-10 16:53:45 -05:00
Thaddeus Crews 94282d88f9
Core: Use `Math` namespace for constants 2025-04-10 16:29:30 -05:00
Nolkaloid c1cdaf7b16
Add gdscript tests for callv with const arrays 2025-04-10 23:13:01 +02:00
HolonProduction e7487263ad Autocompletion: Don't add parenthesis if `Callable` is expected 2025-04-10 18:40:32 +02:00
A Thousand Ships 889410dcda
Add `String::replace_char(s)` methods for performance and convenience 2025-04-10 13:08:45 +02:00
Thaddeus Crews 7a6c3b309f
Merge pull request #105130 from bruvzg/uri_fix_plus
Add uri_file_decode to handle + in file names.
2025-04-09 18:11:56 -05:00
Thaddeus Crews ec675fc329
Merge pull request #100333 from YYF233333/reduce_list
Use `LocalVector` instead of `List` as arg of `Dictionary::get_key_list`
2025-04-09 08:51:45 -05:00
Lukas Tenbrink fbe64ffb45 Change `get_class_static` to return `StringName`.
Use that static `get_class_static` for `_get_class_namev` to avoid duplication.
2025-04-08 23:25:05 +02:00
Yufeng Ying f7e4987d0e Dictionary::get_key_list use LocalVector instead of List. 2025-04-09 02:46:24 +08:00
Thaddeus Crews 4248411baf
Merge pull request #102521 from HolonProduction/cancel-await
GDScript: Cancel suspended functions when reloading a script
2025-04-08 12:32:52 -05:00
Thaddeus Crews bc723b0ddf
Merge pull request #102930 from Ivorforce/lambda-callable-overvalid
Optimize `GDScriptLambdaCallable` by skipping the unnecessary `ObjectDB` lookup for `script`.
2025-04-08 12:32:42 -05:00
Thaddeus Crews d98c3f5ffe
Merge pull request #104333 from Mickeon/documentation-even-more-miscellaneous-oddities
Fix *even* more miscellaneous oddities around the class reference
2025-04-08 12:32:41 -05:00
Pāvels Nadtočajevs 9abe2e5294
Add `uri_file_decode` to handle `+` in file names. 2025-04-07 23:49:17 +03:00
Micky 7603945d14 Fix *even* more miscellaneous oddities around the class reference 2025-04-07 17:37:08 +02:00
Thaddeus Crews 5e20c8fbcd
Merge pull request #105061 from HolonProduction/lsp-workspace-symbol
LSP: Don't advertise support for workspace symbols
2025-04-07 08:43:32 -05:00
Thaddeus Crews 27cc05194c
Merge pull request #105059 from HolonProduction/lsp-relative
LSP: Fix relative path handling for document links
2025-04-07 08:43:31 -05:00
Thaddeus Crews 5edb235018
CI: Bump various pre-commit hooks 2025-04-07 08:23:35 -05:00
Danil Alexeev 4b9bcda113
GDScript: Add autocompletion for `@export_tool_button` 2025-04-06 08:21:43 +03:00
HolonProduction c203e6381e LSP: Don't advertise support for workspace symbols 2025-04-05 18:11:44 +02:00
HolonProduction 920997d0c8 LSP: Fix relative path handling for document links 2025-04-05 17:35:06 +02:00
Yufeng Ying 4029051bb1 Change ClassDB::get_inheriters_from_class. 2025-04-04 23:47:19 +08:00
Thaddeus Crews 8bd9cdeea6
Merge pull request #104890 from HolonProduction/json-rpc-manual-bind
JSONRPC: Require manual method registration
2025-04-03 16:50:24 -05:00
HolonProduction e2c3731cdd JSONRPC: Require manual method registration 2025-04-03 17:51:03 +02:00
Yufeng Ying 7a1a970c25 size() <= 0 and size() < 1. 2025-04-02 19:18:44 +08:00
Yufeng Ying 4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
Thaddeus Crews abd565eb19
Merge pull request #104844 from Ivorforce/gdsoftclass
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 19:02:03 -05:00
Lukas Tenbrink fa0a3c9c6e Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`. 2025-03-31 20:49:50 +02:00
Danil Alexeev 7721e13a92
GDScript: Add constant `Array` and `Dictionary` constructors 2025-03-31 21:31:34 +03:00
Kiro 23129a66ed Replace append_utfx with direct String::utfx 2025-03-30 19:56:38 +02:00
Thaddeus Crews 780cf03051
Merge pull request #104556 from Ivorforce/string-extend-instead-of-parse
Use `append_` instead of `parse_` for `String` methods.
2025-03-29 10:16:33 -05:00
Rémi Verschelde 3b90bb56ad
Merge pull request #89782 from KoBeWi/stdArrayList
Use initializer list in Arrays
2025-03-28 17:29:40 +01:00
Yyf2333 22b5ec17fb Using iterator pattern instead of List::Element *.
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2025-03-28 13:29:15 +08:00
Lukas Tenbrink ffa6ef220b Use `append_` instead of `parse_` for `String` methods. 2025-03-27 17:51:02 +01:00
kobewi 75881f8322 Use initializer list in Arrays 2025-03-26 18:38:15 +01:00
Thaddeus Crews c687e4f692
Merge pull request #104509 from HolonProduction/completion-super-method
GDScript: Return early when parsing invalid super call
2025-03-24 15:27:26 -05:00
HolonProduction b67dcb21fd GDScript: Return early when parsing invalid super call 2025-03-24 17:40:26 +01:00
Thaddeus Crews 1cb3cfaa8e
Style: Convert namespaces to PascalCase 2025-03-23 19:10:24 -05:00
Thaddeus Crews f09ee0171a
Style: Begin integrating simple `.clangd` fixes 2025-03-22 13:24:35 -05:00
Rémi Verschelde d3676e9352
Merge pull request #99872 from HolonProduction/plugin-template
Add `_enable`/`_disable_plugin` to plugin script template
2025-03-21 13:03:03 +01:00
Rémi Verschelde 2fa721b1bc
Merge pull request #104127 from Ivorforce/360-noclip
Remove `String` clipping constructors.
2025-03-19 12:27:10 +01:00
Mikael Hermansson db5e843e46 Add clearing of `static_gdscript_cache` to `GDScriptCache` 2025-03-17 18:19:23 +01:00
Lukas Tenbrink a23f630781 Remove `String` clipping constructors.
Callers should instead call constructors with explicit encoding names, with known length `Span`.
2025-03-15 12:34:44 +01:00
Thaddeus Crews b377562b52
Merge pull request #91660 from AThousandShips/methodinfo_vec
[Core] Use `Vector` for `MethodInfo::arguments`
2025-03-14 10:06:13 -05:00
Thaddeus Crews e68ac1c89d
Merge pull request #104114 from HolonProduction/lsp-spec-selection-range-round-3
GDScript: Fix head class range to include `class_name`
2025-03-14 10:06:11 -05:00
HolonProduction d6da30e9c7 GDScript: Fix head class range to include `class_name` 2025-03-14 11:36:55 +01:00
Michael Alexsander ce8d2e4917
Implement class detection in GDScript for build configuration 2025-03-13 21:24:56 -03:00
David Snopek 393465ce92 Register editor classes normally, rather than via `ClassDB::set_current_api()` 2025-03-13 15:17:45 -05:00
Thaddeus Crews e97bb76142
Merge pull request #100314 from Ivorforce/use-string-chr
Optimize `String::chr` to avoid calling `strlen`. Use `String::chr` instead of `String(&chr, 1)` where appropriate.
2025-03-13 08:57:20 -05:00
Thaddeus Crews 0a30831bed
Merge pull request #100023 from Repiteo/core/module-includes-header-strip
Core: Avoid including `modules/modules_enabled.gen.h` in headers
2025-03-11 19:54:48 -05:00
Thaddeus Crews 754e3b3f9a
Merge pull request #103825 from JulianHeuser/region_highlight_crash_fix
Fix crash related to #region/#endregion caused by trailing spaces
2025-03-11 19:54:46 -05:00
Thaddeus Crews 6c4f17db1a
Core: Avoid including `modules_enabled` in headers 2025-03-11 19:42:13 -05:00
Julian 659d1b5d0c Fix crash caused by trailing spaces 2025-03-11 00:06:08 -04:00
A Thousand Ships d9721954e6
[Core] Use `Vector` for `MethodInfo::arguments` 2025-03-10 13:57:53 +01:00
A Thousand Ships 331a43a9d8
Add `String::remove_char(s)` methods for performance and convenience 2025-03-10 13:19:28 +01:00
A Thousand Ships 466590d0ec
Use `get_slicec` instead of `get_slice` for single character splitters 2025-03-08 20:36:37 +01:00
Thaddeus Crews 324512e11c
Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 -06:00
Thaddeus Crews 3d9b37911d
Merge pull request #103011 from Repiteo/style/svgo-newline
Style: Ensure svgs have trailing newlines
2025-03-07 15:12:41 -06:00
Thaddeus Crews 3c43508ed7
Merge pull request #102427 from AThousandShips/fix_substr
Clean up some uses of `String::substr`
2025-03-07 15:12:33 -06:00
Thaddeus Crews c937b6d180
Merge pull request #102419 from Ivorforce/std-size
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 -06:00
Thaddeus Crews 9e7fbdf52b
Merge pull request #103663 from pafuent/fixing_errors_warnings_output_on_tests
Fix `SCRIPT ERROR/ERROR/WARNING` on test output
2025-03-07 15:12:11 -06:00
Thaddeus Crews e0a040c0d3
Merge pull request #101319 from JulianHeuser/region_syntax_highlighting_fix
Improve consistency of code regions
2025-03-07 12:06:34 -06:00
A Thousand Ships 5113022dfe
Clean up some uses of `String::substr`
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
Pablo Andres Fuente 5775d29ad8 Fix `SCRIPT ERROR/ERROR/WARNING` on test output
Also "fixing" some GDScript completion tests which
where named wrongly.
2025-03-06 13:44:48 +01:00
HolonProduction f4172445f3 Add `_enable`/`_disable_plugin` to plugin script template 2025-03-06 11:41:21 +01:00
HolonProduction ca1e444bca GDScript: Do phrase level recovery when parsing faulty dictionaries 2025-03-06 11:35:56 +01:00
HolonProduction 676e4c9013 GDScript: Cancel suspended functions when reloading a script 2025-03-06 11:34:40 +01:00
A Thousand Ships fec3d9e68c
[Editor] Fix return of `EditorTranslationParserPlugin._parse_file`
Merged `_get_comments` into `_parse_file` and changed to using a
returned `Array[PackedStringArray]` instead.
2025-02-19 20:11:24 +01:00
Thaddeus Crews 7e5baa0426
Style: Enforce trailing newlines on svgs 2025-02-18 11:02:45 -06:00
Lukas Tenbrink 279505d8b0 Optimize `GDScriptLambdaCallable` by skipping the unnecessary `ObjectDB` lookup for `script`. 2025-02-16 20:52:09 +01:00
kobewi 012d47b089 Allow exporting variables of type Variant 2025-02-15 18:00:55 +01:00
HolonProduction c00518eec7 Autocompletion: Override context for preload 2025-02-13 22:56:06 +01:00
Rémi Verschelde 83b3c1e11e Merge pull request #102389 from Meorge/bugfix/unique-name-error
Display correct symbol in warning when unique name is used without @onready annotation
2025-02-11 23:59:01 +01:00
HolonProduction 62eebf1266 Autocompletion: Account for invalid annotations when making arghint 2025-02-11 09:17:22 +01:00
Lukas Tenbrink e34f1f504c Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase. 2025-02-07 14:57:48 +01:00
Pāvels Nadtočajevs 7da0767f35 [TextEdit] Update syntax highlighting when IME composition string is updated. 2025-02-07 11:54:56 +02:00
Malcolm Anderson 8e8f93cf0c Display correct symbol in warning when unique name is used without @onready annotation
Add tests for `GET_NODE_DEFAULT_WITHOUT_ONREADY` warning with unique nodes

Small modifications to tests
2025-02-06 10:49:08 -08:00
HolonProduction d616ea5462 Fix enum value lookup jump 2025-02-06 10:04:01 +01:00
Pāvels Nadtočajevs b50d9742c2 Fix `is_valid_float`, `Variant` parser, `Expression` parser, script highlighter, and `TextServer` not handing capital E in scientific notation. 2025-02-05 18:39:40 +02:00
bruvzg 3be46a69c4 Fix uppercase B and X parsing in the integer literals. 2025-02-05 16:02:06 +02:00
Rémi Verschelde daa074881b Revert "Fixed resource loader using not fully loaded scripts"
This reverts commit fd5fc9f3ee.

This caused significant regressions which are worse than the bug that #96499
aimed to address.

- Reverts #96499.
- Reopens #95909.
- Supersedes #102063.
- Fixes #99006.
- Fixes #101615.
2025-02-04 19:51:54 +01:00