Commit graph

442 commits

Author SHA1 Message Date
HolonProduction
8ec31b7b3d Autocompletion: Remove duplicate code 2025-08-04 12:59:22 +02:00
Thaddeus Crews
8acc596bcf
Merge pull request #108944 from vnen/gdscript-fix-static-call-fail-when-shadowing
Properly detect native class on static call optimization
2025-07-25 11:08:14 -05:00
George Marques
38f8643b00
GDScript: Properly detect native class on static call optimization 2025-07-25 09:17:39 -03:00
George Marques
81c7cae567
GDScript: Don't get invalid dictionary key during completion
We try to get the value out of a dictionary in order to establish its
type for completion purposes. However, if the dictionary or the key
is not a constant, we cannot safely get the actual value, so we skip
this and just try to infer from static typing.

Getting the value directly with `Variant::get()` generate errors if the
base is a Dictionary and the key is of an invalid type. So before trying
to get it we use the Dictionary validator to make sure it we can safely
try to get the key.
2025-07-24 15:02:40 -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
Thaddeus Crews
c977b597b8
Merge pull request #107872 from Thought-Weaver/users/loganapple/editor-caret-fix
[Autocomplete] Avoid prepending literals when the character has already been typed
2025-07-10 11:39:30 -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
Logan Apple
216c462277 Initial fix for double caret inserting in NodePath
Additional cases where prepending doubles up

Moved code to helper function

Added unit tests

Lookup caret character instead of passing position

Switched to using the parsed type

Adding safety checks and various cleanup
2025-07-07 09:23:32 -07:00
A Thousand Ships
f11aff3841
Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
Thaddeus Crews
77b680244d
Merge pull request #102186 from HolonProduction/completion-builtin-enum
Improve GDScript editor support for global enums
2025-07-03 12:21:19 -05:00
Thaddeus Crews
bad29ef0c7
Merge pull request #107636 from HolonProduction/completion-dont-use-next
Autocompletion: Don't use `next` for `GET_NODE` inference
2025-07-01 17:57:59 -05:00
Thaddeus Crews
ee5859b7ae
Merge pull request #92584 from HolonProduction/autocompletion-assign-variant
Autocompletion: Fix type resolution when assigning variant
2025-07-01 17:57:51 -05:00
Serhii Snitsaruk
a095c5e3fa
GDScript call stack as reverse linked list with fixed coroutines
* GDScript call stack as reverse linked list with issues fixed
(originally proposed in 91006).
* Fix coroutine issues with call stack by resuming async call chain
inside `GDScriptFunction::call()`.
* This fixes corrupted line numbers for coroutines in the debugger and
backtrace (106489).

Co-authored-by: Juan Linietsky <reduzio@gmail.com>
2025-06-30 11:37:42 +02:00
Danil Alexeev
c8bb21e68b
GDScript: Fix GDScriptLanguage::make_function() 2025-06-28 13:39:59 +03:00
Rémi Verschelde
ebc36a7225
Merge pull request #107717 from aaronfranke/abstract-annotation
GDScript: Replace `abstract` keyword with `@abstract` annotation
2025-06-27 17:12:56 +02:00
Thaddeus Crews
4a90220fc9
Merge pull request #107852 from HolonProduction/completion-filter-current-impl
Autocompletion: Don't filter overrides when the existing function is the current one
2025-06-27 09:39:52 -05:00
Thaddeus Crews
6277e9d02b
Merge pull request #93429 from dalexeev/fix-method-signature-appearance
GDScript: Fix call hint appearance for complex callees
2025-06-24 09:58:49 -05: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
a59587c308
GDScript: Fix double spaces for type hints when connecting signal 2025-06-23 21:46:03 +03:00
Danil Alexeev
fbede89573
GDScript: Fix call hint appearance for complex callees 2025-06-23 19:28:48 +03:00
HolonProduction
991c1a85a9 Autocompletion: Don't filter overrides when the existing function is the current one 2025-06-22 16:25:36 +02:00
HolonProduction
49e8d3ff98 Autocompletion: Don't use next for GET_NODE inference 2025-06-17 17:03:59 +02:00
HolonProduction
242b5efd9d Autocompletion: Fix type resolution when assigning variant 2025-06-15 20:17:19 +02:00
HolonProduction
af54b13603 Autocompletion: Add support for global enums 2025-06-15 19:41:13 +02:00
Danil Alexeev
ee121ef80e
GDScript: Add support for variadic functions 2025-06-09 21:53:05 +03:00
Thaddeus Crews
3b963ab8b6
Merge pull request #105081 from dalexeev/gds-add-export-tool-button-autocompletion
GDScript: Add autocompletion for `@export_tool_button`
2025-06-09 12:31:43 -05: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
Danil Alexeev
7aafa6ef18
GDScript: Remove leftmost_column and rightmost_column fields 2025-05-21 18:16:20 +03:00
Yufeng Ying
1384e82c2c Improve ScriptLanguage get keyword API. 2025-05-17 18:43:19 +08:00
Thaddeus Crews
b59d6bea4f
Merge pull request #67777 from aaronfranke/virtually-annotated
Add a keyword for abstract classes in GDScript
2025-05-13 16:22:16 -05:00
kobewi
9e0203a58a Don't synchronize scripts with errors 2025-05-08 17:29:15 +02: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
3f0ff0417c Autocompletion: Remove additional brace from utility function options 2025-04-15 13:25:28 +02: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
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
Danil Alexeev
4b9bcda113
GDScript: Add autocompletion for @export_tool_button 2025-04-06 08:21:43 +03:00
Yufeng Ying
4029051bb1 Change ClassDB::get_inheriters_from_class. 2025-04-04 23:47:19 +08: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
A Thousand Ships
d9721954e6
[Core] Use Vector for MethodInfo::arguments 2025-03-10 13:57:53 +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
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
HolonProduction
c00518eec7 Autocompletion: Override context for preload 2025-02-13 22:56:06 +01:00
HolonProduction
62eebf1266 Autocompletion: Account for invalid annotations when making arghint 2025-02-11 09:17:22 +01:00
HolonProduction
d616ea5462 Fix enum value lookup jump 2025-02-06 10:04:01 +01:00
Thaddeus Crews
0b6a717ac1
Merge pull request #101127 from dalexeev/gds-edit-fix-enum-value-ctrl-click
Editor: Fix `Ctrl+Click` on enum values ​​does nothing
2025-02-04 09:04:17 -06:00