Commit Graph

233 Commits (dec5a373d97cbadce5e1fabe6095ae9957ff3aa6)

Author SHA1 Message Date
Danil Alexeev 1bd7b99182
GDScript: Add `debug/gdscript/warnings/directory_rules` project setting 2025-11-12 12:20:34 +07:00
George Marques 38f8643b00
GDScript: Properly detect native class on static call optimization 2025-07-25 09:17:39 +07: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 +07:00
Chaosus c232b7c717 Fix lookup symbol for super() 2025-07-08 16:21:39 +07:00
HolonProduction d4abc211f1 GDScript: Fix autocompletion issues with nested types 2025-07-08 14:48:21 +07: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 +07:00
Danil Alexeev a7cf2069d5
GDScript: Add abstract methods
Co-authored-by: ryanabx <ryanbrue@hotmail.com>
2025-06-09 20:11:58 +07: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 +07:00
Sat fc4df4b17d Added working version for user-defined function autocompletion 2025-06-08 07:01:35 +07: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 +07: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 +07:00
Danil Alexeev 7aafa6ef18
GDScript: Remove `leftmost_column` and `rightmost_column` fields 2025-05-21 18:16:20 +07: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 +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 +07:00
HolonProduction e7487263ad Autocompletion: Don't add parenthesis if `Callable` is expected 2025-04-10 18:40:32 +07:00
Thaddeus Crews 324512e11c
Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 +07:00
HolonProduction ca1e444bca GDScript: Do phrase level recovery when parsing faulty dictionaries 2025-03-06 11:35:56 +07:00
HolonProduction 62eebf1266 Autocompletion: Account for invalid annotations when making arghint 2025-02-11 09:17:22 +07: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 +07:00
Danil Alexeev 80d11500b5
Code Editor: Add documentation tooltips 2024-12-15 10:51:33 +07:00
Danil Alexeev 7d65d0a908
GDScript: Add `@warning_ignore_start` and `@warning_ignore_restore` annotations 2024-12-06 15:37:02 +07: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 +07: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 +07: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 +07:00
Rémi Verschelde 0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
Implement typed dictionaries
2024-09-06 22:38:13 +07:00
Thaddeus Crews 9853a69144
Implement typed dictionaries 2024-09-04 10:27:26 +07:00
HolonProduction 171c522290 Autocompletion: reintroduce enum options on assignment 2024-08-30 13:46:48 +07: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 +07: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 +07: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 +07:00
HolonProduction 0abd0ae364 Autocompletion: rework argument options string literal completion 2024-07-08 17:53:36 +07:00
Hilderin 39369db029 Fix synchronization of global class name 2024-06-25 18:33:07 +07: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 +07: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 +07:00
Danil Alexeev 76b2d85c9f
GDScript: Fix some export annotation issues 2024-05-13 17:49:06 +07:00
Danil Alexeev 8122a27eac
GDScript: Fix access non-static members in static context 2024-05-01 19:55:40 +07:00
Rémi Verschelde c4733e8003
Merge pull request #90860 from vnen/gdscript-get-dependencies
GDScript: Implement `get_dependencies()`
2024-04-29 12:30:12 +07: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 +07: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 +07: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 +07:00
Danil Alexeev ef1909fca3
GDScript: Fix `@warning_ignore` annotation issues 2024-03-12 19:00:06 +07:00
Thaddeus Crews 9903e6779b
Enforce template syntax `typename` over `class` 2024-03-07 22:39:09 +07: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 +07:00
Danil Alexeev af28f87791
Documentation: Add support for deprecated/experimental messages 2024-02-15 15:59:50 +07: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 +07:00