Commit graph

711 commits

Author SHA1 Message Date
Thaddeus Crews
f4f1471b57
Merge pull request #105910 from lawnjelly/global_get_fast4
Add `GLOBAL_GET` cached macros.
2025-04-30 09:18:44 -05:00
lawnjelly
f8f350a32a Add GLOBAL_GET cached macros.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-04-30 15:08:50 +01:00
Rémi Verschelde
c019b76523
Remove WinAPI #undef hacks needed for mingw-std-threads
Instead, we rename the conflicting symbols.
2025-04-29 14:24:03 +02:00
Thaddeus Crews
c87f23ce7d
Merge pull request #89324 from KoBeWi/pandora's_can_of_worms
Allow exporting variables of type Variant
2025-04-28 10:01:33 -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
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
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
HolonProduction
e7487263ad Autocompletion: Don't add parenthesis if Callable is expected 2025-04-10 18:40:32 +02: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
Thaddeus Crews
5edb235018
CI: Bump various pre-commit hooks 2025-04-07 08:23:35 -05:00
HolonProduction
b67dcb21fd GDScript: Return early when parsing invalid super call 2025-03-24 17:40:26 +01:00
HolonProduction
d6da30e9c7 GDScript: Fix head class range to include class_name 2025-03-14 11:36:55 +01: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
HolonProduction
ca1e444bca GDScript: Do phrase level recovery when parsing faulty dictionaries 2025-03-06 11:35:56 +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
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
Danil Alexeev
cd918ff470
GDScript: Remove RENAMED_IN_GODOT_4_HINT from GDScriptWarning::Code enum 2025-01-09 21:07:41 +03:00
Yufeng Ying
33817b186f Remove unused header in drivers and modules.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2024-12-24 00:40:47 +08:00
Danil Alexeev
80d11500b5
Code Editor: Add documentation tooltips 2024-12-15 10:51:33 +03:00
Thaddeus Crews
ab208af781
Merge pull request #100174 from Calinou/gdscript-add-deprecated-experimental-annotations
Tweak unknown annotation GDScript error for `@deprecated`/`@experimental`/`@tutorial`
2024-12-11 17:35:50 -06:00
Thaddeus Crews
79dd5179e3
Merge pull request #99887 from JackErb/gdscript-parser-error-fix
Improve misleading `Unexpected "x" in class body.` GDScript parser error
2024-12-10 14:15:50 -06:00
JackErb
13fcb05e7b Improve GDScript "unexpected token in class body" parser error
This parser error was misleading.

Fixes:
1. Now points at correct line
2. For identifiers, prints out `Identifier "%s"`
2024-12-09 21:01:46 -08:00
Hugo Locurcio
6095a37d64
Tweak unknown annotation GDScript error for @deprecated/@experimental/@tutorial
These annotations don't exist at a source level, so the error messages
point to the documentation comment syntax.
2024-12-09 22:18:35 +01:00
Thaddeus Crews
a372214a4a
Merge pull request #76020 from dalexeev/gds-warning-ignore-regions
GDScript: Add `@warning_ignore_start` and `@warning_ignore_restore` annotations
2024-12-09 14:33:38 -06:00
Lukas Tenbrink
b5c31ebb41 Add contains_char() for single-character 'contains' calls. 2024-12-06 20:23:35 +01:00
Danil Alexeev
7d65d0a908
GDScript: Add @warning_ignore_start and @warning_ignore_restore annotations 2024-12-06 15:37:02 +03:00
Thaddeus Crews
e9ce3932b3
Merge pull request #98099 from dalexeev/pot-gen-add-comment-support
POT Generator: Add support for `TRANSLATORS:` and `NO_TRANSLATE` comments
2024-11-15 10:42:45 -06:00
Clay John
b5368d5e40
Merge pull request #98356 from dustdfg/gdscript_endif_readability_comments
Add some comments to `#endif's` where it helps readability
2024-10-24 19:11:42 -07:00
Yevhen Babiichuk (DustDFG)
8c29ef38fc Add some comments to #endif's where it will easier life
Also added some new line to improve readability

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
2024-10-21 14:31:45 +03:00
HolonProduction
140c6a612e GDScript: Fix annotation parsing adding new annotation entries 2024-10-13 22:43:06 +02:00
Danil Alexeev
cab80cb97d
POT Generator: Add support for TRANSLATORS: and NO_TRANSLATE comments 2024-10-13 11:40:11 +03:00
Rémi Verschelde
0b2446101c
Merge pull request #96693 from HolonProduction/annotation-arg-hint
Autocompletion: Add arghint for annotations
2024-10-02 15:00:58 +02:00
Danil Alexeev
85dfd89653 Add @export_tool_button annotation for easily creating inspector buttons
Co-authored-by: jordi <creptthrust@gmail.com>
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
Co-authored-by: Mack <86566939+Macksaur@users.noreply.github.com>
2024-09-27 22:24:15 +01:00
HolonProduction
00dfd568e0 Autocompletion: Add arghint for annotations 2024-09-07 20:47:34 +02:00
Rémi Verschelde
0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
Rémi Verschelde
721d280b8a
Merge pull request #96326 from HolonProduction/completion-hacks-and-fixes
Autocompletion: Reintroduce enum options on assignment
2024-09-04 18:55:27 +02:00
Thaddeus Crews
9853a69144
Implement typed dictionaries 2024-09-04 10:27:26 -05:00
A Thousand Ships
194bdde947
Cleanup of raw nullptr checks with Ref
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
HolonProduction
171c522290 Autocompletion: reintroduce enum options on assignment 2024-08-30 13:46:48 +02:00
Aina
930742f8b3 Fix missing GDScriptParser reference on completion context 2024-08-28 17:03:12 -03:00
Rémi Verschelde
6eb1d3cf98
Merge pull request #94888 from rune-scape/no-const-cast-gdscript-parser
GDScriptParser: Avoid `const_cast` of `AnnotationNode`
2024-08-28 00:12:35 +02:00
HolonProduction
c824403853 Autocompletion: enable string literal completion in subscripts 2024-08-27 13:02:09 +02:00
Rémi Verschelde
58505b0bce
Merge pull request #94082 from HolonProduction/completion-force
Autocompletion: Rework argument options string literal completion
2024-08-20 10:01:52 +02:00
rune-scape
22f43b7879 Avoid const_cast in GDScriptParser 2024-07-28 08:04:25 -07:00
HolonProduction
4699e69708 Autocompletion: register depended parsers with the main parser 2024-07-18 12:16:28 +02:00
Danil Alexeev
110c4d4067
GDScript: Fix "Mismatched external parser" for autoloads 2024-07-09 16:16:45 +03:00
HolonProduction
0abd0ae364 Autocompletion: rework argument options string literal completion 2024-07-08 17:53:36 +02:00