George Marques
38f8643b00
GDScript: Properly detect native class on static call optimization
2025-07-25 09:17:39 -03:00
Thaddeus Crews
25dcf7d2a0
Merge pull request #108306 from Chaosus/gds_fix_super_completion
...
Fix lookup symbol for `super()`
2025-07-17 10:34:48 -05:00
Chaosus
c232b7c717
Fix lookup symbol for super()
2025-07-08 16:21:39 +03:00
HolonProduction
d4abc211f1
GDScript: Fix autocompletion issues with nested types
2025-07-08 14:48:21 +02:00
Aaron Franke
1085200f51
GDScript: Replace abstract
keyword with @abstract
annotation
...
Co-authored-by: Danil Alexeev <dalexeev12@yandex.ru>
2025-06-23 12:24:45 -07:00
Danil Alexeev
ee121ef80e
GDScript: Add support for variadic functions
2025-06-09 21:53:05 +03:00
Danil Alexeev
a7cf2069d5
GDScript: Add abstract methods
...
Co-authored-by: ryanabx <ryanbrue@hotmail.com>
2025-06-09 20:11:58 +03:00
Rémi Verschelde
fb59a99244
Merge pull request #106198 from SatLess/User-Func-Autocomplete
...
Add code completion for user-defined methods when overriding in GDScript
2025-06-09 00:44:22 +02:00
Sat
fc4df4b17d
Added working version for user-defined function autocompletion
2025-06-08 07:01:35 -03:00
Rémi Verschelde
0518bd5fee
Merge pull request #106683 from dalexeev/gds-remove-leftmost-rightmost-column
...
GDScript: Remove `leftmost_column` and `rightmost_column` fields
2025-06-05 13:12:02 +02:00
Thaddeus Crews
ee82adcf04
Merge pull request #105413 from HolonProduction/gdscript-recover-match
...
GDScript: Do phrase level recovery for match
2025-05-23 09:46:10 -05:00
Danil Alexeev
7aafa6ef18
GDScript: Remove leftmost_column
and rightmost_column
fields
2025-05-21 18:16:20 +03:00
Aaron Franke
067704f1cd
Add a keyword for abstract classes in GDScript
...
Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
2025-05-02 00:03:04 -07:00
HolonProduction
4a0e40f6ea
GDScript: Do phrase level recovery for match
2025-04-15 13:00:43 +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
HolonProduction
e7487263ad
Autocompletion: Don't add parenthesis if Callable
is expected
2025-04-10 18:40:32 +02:00
Thaddeus Crews
324512e11c
Style: Replace header guards with #pragma once
2025-03-07 17:33:47 -06:00
HolonProduction
ca1e444bca
GDScript: Do phrase level recovery when parsing faulty dictionaries
2025-03-06 11:35:56 +01:00
HolonProduction
62eebf1266
Autocompletion: Account for invalid annotations when making arghint
2025-02-11 09:17:22 +01: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
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
rune-scape
eb8b9898c9
GDScript: Fix cached parser error when using typed Dictionaries
2024-10-22 02:13:16 -07:00
Danil Alexeev
cab80cb97d
POT Generator: Add support for TRANSLATORS:
and NO_TRANSLATE
comments
2024-10-13 11:40:11 +03: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
Rémi Verschelde
0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
...
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
Thaddeus Crews
9853a69144
Implement typed dictionaries
2024-09-04 10:27:26 -05:00
HolonProduction
171c522290
Autocompletion: reintroduce enum options on assignment
2024-08-30 13:46:48 +02: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
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
HolonProduction
0abd0ae364
Autocompletion: rework argument options string literal completion
2024-07-08 17:53:36 +02:00
Hilderin
39369db029
Fix synchronization of global class name
2024-06-25 18:33:07 -04:00
Rémi Verschelde
6761923f4f
Merge pull request #90716 from dalexeev/gds-fix-export-annotation-issues
...
GDScript: Fix some export annotation issues
2024-05-19 11:21:00 +02:00
Rémi Verschelde
0a67ee52d1
Revert "GDScript: Implement get_dependencies()"
...
This reverts commit dc73440f89
.
This commit in some form is needed to fix handling of dependencies on
export, but as it's also used for import, it's exposing some pre-existing
issues which we need to solve first.
So reverting for now to give ourselves time to iron this out for a future
Godot release.
Fixes #91726 .
2024-05-13 16:59:43 +02:00
Danil Alexeev
76b2d85c9f
GDScript: Fix some export annotation issues
2024-05-13 17:49:06 +03:00
Danil Alexeev
8122a27eac
GDScript: Fix access non-static members in static context
2024-05-01 19:55:40 +03:00
Rémi Verschelde
c4733e8003
Merge pull request #90860 from vnen/gdscript-get-dependencies
...
GDScript: Implement `get_dependencies()`
2024-04-29 12:30:12 +02:00
rune-scape
6b88c86cec
GDScript: invalidate GDScriptParserRef when reloading
2024-04-18 14:05:58 -07:00
George Marques
dc73440f89
GDScript: Implement get_dependencies()
...
The parser and analyzer now track the dependencies of the script and
return the list when the resource loader ask for them.
What is considered a dependency:
- Any `preload()` call.
- The base script this one extends.
- Any identifier, including types, that refers to global scripts.
- Any autoload singleton reference.
2024-04-18 11:54:37 -03:00
Jamie Hill-Daniel
164b34a734
Don't pass self
when calling a static function from a non-static context
2024-04-04 21:15:17 +00:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
...
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Danil Alexeev
ef1909fca3
GDScript: Fix @warning_ignore
annotation issues
2024-03-12 19:00:06 +03:00
Thaddeus Crews
9903e6779b
Enforce template syntax typename
over class
2024-03-07 22:39:09 -06:00
George Marques
8e520454ef
GDScript: Add @export_custom annotation
...
Allows setting any arbitrary hint, hint string, and usage flags.
Useful for more complex hints or potential future hints not
available as a dedicated annotation.
2024-03-07 10:55:21 -03:00
Danil Alexeev
af28f87791
Documentation: Add support for deprecated/experimental messages
2024-02-15 15:59:50 +03:00
George Marques
b4d0a09f15
GDScript: Reintroduce binary tokenization on export
...
This adds back a function available in 3.x: exporting the GDScript
files in a binary form by converting the tokens recognized by the
tokenizer into a data format.
It is enabled by default on export but can be manually disabled. The
format helps with loading times since, the tokens are easily
reconstructed, and with hiding the source code, since recovering it
would require a specialized tool. Code comments are not stored in this
format.
The `--test` command can also include a `--use-binary-tokens` flag
which will run the GDScript tests with the binary format instead of the
regular source code by converting them in-memory before the test runs.
2024-02-08 11:20:05 -03:00
Rémi Verschelde
745f8e112f
Revert "Add UID support to GDScript files"
...
This reverts commit c7f68a27ec
.
We still think GDScript files need UIDs to allow safe refactoring,
but we're still debating what form those should take exactly.
So far there seems to be agreement that it shouldn't be done via an
annotation as implemented here, so we're reverting this one for now,
to revisit the feature in a future PR.
2024-01-29 21:00:26 +01:00