Commit Graph

1807 Commits

Author SHA1 Message Date
Pedro J. Estébanez 0fa574c051 Fix check for freed object during cast 2021-09-27 19:35:26 +02:00
Pedro J. Estébanez ee238b2a4d Fix inverted error messages about null object 2021-09-27 13:58:46 +02:00
Francois Belair 044daf9b8d Remove duplicate WorkspaceEdit from LSP 2021-09-25 15:17:19 -04:00
Rémi Verschelde 14dcb97556
Merge pull request #50378 from Razoric480/apply-edit-40 2021-09-25 20:43:17 +02:00
Rémi Verschelde 0abe464162
Merge pull request #52849 from KoBeWi/know_no_binds 2021-09-25 00:10:56 +02:00
kobewi 7bf5fc709e Remove binds from Signal.connect 2021-09-24 17:07:33 +02:00
Rémi Verschelde 679f70c1e1
Merge pull request #52906 from vnen/gdscript-show-error-on-yield 2021-09-21 20:36:39 +02:00
Rémi Verschelde b3b4860d2e
Merge pull request #52905 from vnen/gdscript-single-line-declaration 2021-09-21 20:35:36 +02:00
George Marques 262d6c6bef
GDScript: Show specific error when "yield" is used
To help people porting code, it gives a hint to use "await" instead of a
generic error.
2021-09-21 14:38:14 -03:00
George Marques e5ebc9710d
GDScript: Allow classes declaration to be done in single line
Incidentally, allow multiple statements in single line functions when
using semicolon as a terminator.
2021-09-21 14:14:46 -03:00
George Marques bab0afc821
GDScript: Allow multiple lines in signal parameters declaration 2021-09-21 13:40:39 -03:00
George Marques 5107f9190b
GDScript: Remove conversion assign mistakenly done when unneeded 2021-09-21 11:58:57 -03:00
Yuri Roubinsky 26e3b3908d
Merge pull request #52852 from Chaosus/gds_fix_constants
Prevent local constant default value from incorrect overriding by a global constant in GDScript autocompletion
2021-09-21 16:44:46 +03:00
Rémi Verschelde b458feba24
Merge pull request #51655 from RevoluPowered/improve-gdscript-code-editor-performance
Improve GDScript Editor performance
2021-09-21 15:18:17 +02:00
Rémi Verschelde 82c12060b2
Merge pull request #52718 from Calinou/gdscript-add-integration-tests-2 2021-09-21 14:13:24 +02:00
Gordon MacPherson 1881b3adc5
Improve GDScript Editor and Improve latency
Improvements:
- GDScript Highlighter is faster by 25% as keys are smaller (hashes instead of strings)
- Removes message queue from _apply_settings_change to allow resize to work correctly
- Some performance fixes are pending still

Note: this resolves the code editor behaving badly when resizing in debug builds
2021-09-21 13:56:47 +02:00
Yuri Roubinsky 05331a5bb9 Prevent local constant default value from incorrect override by a global 2021-09-21 08:40:50 +03:00
Aaron Franke d54f2ad7ca
Don't generate empty doc sections and reduce code duplication 2021-09-20 20:59:33 -05:00
John J. Donna II be6da39b8a
LSP: Add support for custom host setting
You can now configure host in the `language_server` settings in the editor
settings.
2021-09-20 13:09:51 +02:00
Rémi Verschelde ae3b26da7b
GDScript: Remove reference to remove `@export_exp_range`
It was removed in 75688772b3 to be replaced
by `@export_range` with an `"exp"` hint string.
2021-09-17 22:54:43 +02:00
Rémi Verschelde 424ddcba37
Merge pull request #52792 from vnen/gdscript-subscript-missing-index 2021-09-17 20:16:29 +02:00
Rémi Verschelde 7762e8b1c1
Merge pull request #52788 from vnen/gdscript-compare-with-null 2021-09-17 19:35:55 +02:00
George Marques 651319de11
GDScript: Properly catch error when missing index in subscript 2021-09-17 14:31:51 -03:00
George Marques 455e142d37
Allow comparing equality between builtin types and null 2021-09-17 12:33:52 -03:00
George Marques b8fdeb6467
Merge pull request #51671 from RandomShaper/fix_gdscript_crash
Fix some GDScript bugs
2021-09-17 12:29:40 -03:00
George Marques 4e69341c01
GDScript: Avoid inferred types from giving hard errors 2021-09-17 11:52:30 -03:00
Hugo Locurcio c6ca09dc6f
Add more integration tests to the GDScript test suite
This also fixes a typo in the `bitwise_float_right_operand.gd` test.
2021-09-15 19:57:39 +02:00
Rémi Verschelde a4187c9235
Merge pull request #52706 from vnen/gdscript-ternary-operator-crash
GDScript: Show error when missing expression after ternary else
2021-09-15 17:20:52 +02:00
Rémi Verschelde ed11d03b56
Merge pull request #52705 from vnen/gdscript-error-unary-no-arg
GDScript: Show error on unary operators without argument
2021-09-15 16:43:38 +02:00
George Marques 107af38fd1
GDScript: Show error when missing expression after ternary else 2021-09-15 11:43:36 -03:00
George Marques a5c299630d
Merge pull request #50456 from Blackiris/fix-extends-parent-relative
Fix extends with relative path to parent script
2021-09-15 11:12:24 -03:00
George Marques d49046938a
GDScript: Show error on unary operators without argument 2021-09-15 11:08:59 -03:00
George Marques 5a612d61b9
Merge pull request #49765 from Blackiris/fix-assignment-with-operator-on-type-member
Fix assignment with operator on type member
2021-09-15 10:56:20 -03:00
Rémi Verschelde c23823ac54
Merge pull request #52582 from jmb462/Prevent-non-explicit-inferring-parameter-from-null 2021-09-15 15:50:42 +02:00
George Marques 5d31ce4b16
GDScript: Allow string keys on Lua-style dictionaries
Which is useful when the key isn't a valid identifier, such as keys with
spaces or numeric keys.
2021-09-15 09:56:24 -03:00
Rémi Verschelde 32f8f74d83
Merge pull request #48029 from Calinou/gdscript-add-integration-tests
Add dozens of new integration tests to the GDScript test suite
2021-09-15 14:00:41 +02:00
Rémi Verschelde 1c7aec9d9c
Merge pull request #51094 from RandomShaper/error_cast_freed_object
Complain if casting a freed object in a debug session
2021-09-14 21:48:10 +02:00
Pedro J. Estébanez ddc7d7ee66 Complain if casting a freed object in a debug session
The idea is to give the user a chance to realize a mistake that will cause a crash in a release build (or with no debugger attached).
2021-09-14 21:07:00 +02:00
Hugo Locurcio c0083c0f90
Add dozens of new integration tests to the GDScript test suite
This also ignores `.out` files in the file format static checks.
2021-09-14 18:42:08 +02:00
ThreeRhinosInAnElephantCostume 2c71134aa4 Fix an undefined behaviour 2021-09-13 22:59:28 +02:00
Rémi Verschelde f6022d2aa8
Merge pull request #52362 from vnen/gdscript-lambda-completion-crash
GDScript: Do not complete lambda arguments from parent class
2021-09-13 21:13:40 +02:00
Rémi Verschelde 45d9df2e63
Merge pull request #52632 from vnen/autoload-global-script-class-conflict
Disallow class names to be the same as global names
2021-09-13 21:10:50 +02:00
Rémi Verschelde ffe8412291
Merge pull request #52323 from vnen/gdscript-singleton-interdependence-fix
Fix loading of interdependent autoloads
2021-09-13 21:10:34 +02:00
George Marques e9186cfebf
Fix GDScript test cases 2021-09-13 15:02:01 -03:00
Rémi Verschelde 0c2ab55a58
Merge pull request #52100 from vnen/gdscript-access-outer-constants
GDScript: Allow access to outer constant and enum values
2021-09-13 18:04:35 +02:00
Rémi Verschelde 4059cf2f02
Merge pull request #52068 from ThreeRhinosInAnElephantCostume/fixgdscript
Fix parse error on statement-less files with only newlines, add a warning for empty files.
2021-09-13 17:30:31 +02:00
George Marques 2e5fa124f4
Disallow class names to be the same as global names
Also forbid autoloads to have the same name as global script class.
2021-09-13 10:51:29 -03:00
jmb462 b9219bedf7 Prevent non explicit inferring parameter from null 2021-09-11 21:11:10 +02:00
ThreeRhinosInAnElephantCostume e99730340b Fix error on parsing statement-less GDScript files,
add an empty file warning,
add relevant tests.
2021-09-11 20:38:15 +02:00
Pedro J. Estébanez 10c9c2ccd4 Avoid crash after a parsing error in GDScript 2021-09-11 11:35:25 +02:00
Pedro J. Estébanez 7c79e361f5 Fix parameter type resolution in GDScript 2021-09-11 11:35:25 +02:00
Pedro J. Estébanez d72f12a561 Implement iterator variable typing in GDScript 2021-09-11 11:35:25 +02:00
ZuBsPaCe 1d1aa7a02f GDScript: Removed spurious UNASSIGNED_VARIABLE warning for locals
Variable->assignment needs to be incremented when assigned a value.
Also fixed and improved unit test 'variable_declaration.gd'.
Fixes #52551
2021-09-10 22:26:50 +02:00
George Marques 6423e891a6
Merge pull request #52063 from KoBeWi/double_comma_of_doom
Fix crash with consecutive commas in Dictionary
2021-09-10 11:24:51 -03:00
George Marques 6da061faf5
Merge pull request #49897 from Blackiris/fix-dollar-point-crash-on-editor
Fix crash when writing $. in the editor
2021-09-10 10:55:11 -03:00
George Marques 0b484c5f5f
Merge pull request #51456 from SaracenOne/super_init_fix
Call _init on base class if one does not exist.
2021-09-10 10:40:32 -03:00
kobewi c7452a9940 Fix crash with consecutive commas in Dictionary 2021-09-10 15:38:24 +02:00
George Marques 11e457e594
Merge pull request #51593 from KoBeWi/if
Prevent crash when awaiting in a getter/setter
2021-09-10 10:36:25 -03:00
George Marques 1234c2bdd9
Merge pull request #52081 from ThreeRhinosInAnElephantCostume/fixmatchfreeze
Fix gdscript pattern matching expressions
2021-09-10 09:28:18 -03:00
Max Hilbrunner 886ad727f8
Merge pull request #52267 from williamd67/lookup-symbol-builtin-functions
Show help for built-in functions (@GlobalScope)
2021-09-07 21:05:09 +02:00
Fabio Alessandrelli bf9aae09ba [Net] Move multiplayer to core subdir, split RPCManager.
Move multiplayer classes to "core/multiplayer" subdir.

Move the RPCConfig and enums (TransferMode, RPCMode) to a separate
file (multiplayer.h), and bind them to the global namespace.

Move the RPC handling code to its own class (RPCManager).

Renames "get_rpc_sender_id" to "get_remote_sender_id".
2021-09-07 11:14:30 +02:00
Julien Nguyen a92d2c447b Fix extends with relative path to parent script 2021-09-05 00:11:04 +02:00
Max Hilbrunner 8c82e305ba
Merge pull request #52329 from ZuBsPaCe/gdscript-unused-private-class-variable-fix
GDScript: Fix for UNUSED_PRIVATE_CLASS_VARIABLE
2021-09-03 10:04:11 +02:00
ZuBsPaCe c76ad6b158 GDScript: Count usages of member variables.
Otherwise private member variables will always lead to UNUSED_PRIVATE_CLASS_VARIABLE.
2021-09-03 07:44:46 +02:00
ThreeRhinosInAnElephantCostume 15ccd83ada Added tests for expression matching 2021-09-03 06:59:13 +02:00
George Marques da9daf4c3a
GDScript: Do not complete lambda arguments from parent class
Since lambdas are not overriding methods from the parent class, they
should not try to check inheritance for signature matching.
2021-09-02 19:54:55 -03:00
SaracenOne 84852585b9 Check for GDScript member and class naming conflicts in a variety of conditions. 2021-09-02 07:16:06 +01:00
George Marques 3d13588057
GDScript: Fix loading of interdependent autoloads
Move the autoload resolution to runtime by loading it into the stack
with an extra instruction. This allows an autoload to use another
autoload singleton independent of load order.
2021-09-01 16:06:30 -03:00
Juan Linietsky bcd73fc00a
Merge pull request #52240 from Rubonnek/rename-rel-path
Rename `String::is_rel_path` to `String::is_relative_path`
2021-08-30 20:45:45 -03:00
William Deurwaarder b2f858870d Show help for built-in functions (@GlobalScope) 2021-08-30 21:51:56 +02:00
Wilson E. Alvarez d11c1afc04
Rename String::is_rel_path to String::is_relative_path 2021-08-29 20:41:29 -04:00
Fabio Alessandrelli fafddbc143 [GDScript] [Net] Allow mixing rpc annotation paramters.
The strings no longer needs to be in order.
The last parameter (channel), still requires all the other parameters to
be present.
2021-08-30 00:54:38 +02:00
Fabio Alessandrelli 64b9f30b92 [Net] Rename RPC "puppet" to "auth" (authority). Drop "master".
This commit completely removes the RPC_MODE_MASTER ("master" keyword),
and renames the RPC_MODE_PUPPET to RPC_MODE_AUTHORITY ("auth" keyword).

This commit also renames the "Node.[get|set]_network_master" methods to
"Node.[get|set]_network_authority".

This commit also renames the RPC_MODE_REMOTE constant to RPC_MODE_ANY.

RPC_MODE_MASTER in Godot 3.x meant that a given RPC would be callable by
any puppet peer on the master, while RPC_MODE_PUPPET meant that it would
be callable by the master on any puppet.

Beside proving to be very confusing to the user (referring to where it
could be called instead of who can call it) the RPC_MODE_MASTER is quite
useless. It is almost the same as RPC_MODE_REMOTE (anyone can call) with
the exception that the network master cannot. While this could be useful
to check in some case, in such a function you would anyway need to check
in code who is the caller via get_rpc_sender_id(), so adding the check
there for those rare cases does not warrants a dedicated mode.
2021-08-30 00:54:38 +02:00
Hugo Locurcio 4f9509e6ba
Merge pull request #52085 from williamd67/fix-await-without-argument
Print error message when await is not followed by signal or coroutine
2021-08-28 23:01:34 +02:00
Max Hilbrunner 5d2c4faa89
Merge pull request #52164 from mhilbrunner/gd-style-fixup
GDScript test style fix
2021-08-28 20:16:17 +02:00
William Deurwaarder e77338978f Print error message when await is not followed by signal or coroutine
When await was not followed by a signal or coroutine the GDScript parser would
crash.

This fix will check if await is followed by a signal or coroutine in case that
isn't true (element == nullptr) then an error message is printed.
2021-08-28 17:29:35 +02:00
K. S. Ernest (iFire) Lee d04aa9a114
Merge pull request #52122 from V-Sekai/autoload_list
Use sorted map for autoloads in ProjectSettings to preserve order.
2021-08-27 14:41:40 -07:00
Max Hilbrunner f126634434 GDScript test style fix 2021-08-27 21:11:46 +02:00
Max Hilbrunner 4e67e9bca6
Merge pull request #52090 from balloonpopper/bug52060
Correct null and boolean values being capitalised by the str command
2021-08-27 21:05:47 +02:00
Hugo Locurcio 33773a24dc
Merge pull request #52105 from ldmnt/master 2021-08-27 19:28:59 +02:00
Lyuma 31f790299c Use OrderedHashMap for autoloads to preserve order 2021-08-26 21:55:26 -07:00
Balloonpopper 4fae7ae9dc Correct null and boolean values being capitalised by the str command 2021-08-26 17:11:34 +10:00
Louis Dumont 79578a5625 Fixed crash when parsing an empty assignment.
Resolves #51620.
2021-08-25 18:48:08 +02:00
Hugo Locurcio 9c2ec6e697
Add a README to link to the GDScript integration tests documentation
This makes the documentation about creating and running GDScript
integration tests more discoverable.
2021-08-25 16:51:28 +02:00
ThreeRhinosInAnElephantCostume 6c258a89de Fixed pattern matching with expressions 2021-08-25 15:30:41 +02:00
George Marques 4918df4527
GDScript: Allow access to outer constant and enum values 2021-08-24 14:45:51 -03:00
Max Hilbrunner 583b6a594a
Merge pull request #51971 from aaronfranke/https
Replace HTTP URLs with HTTPS for sites with HTTPS versions
2021-08-23 15:58:54 +02:00
Michael Alexsander 88db541705
Merge pull request #51947 from AnilBK/redundant-assignments
[cppcheck] Remove some redundant assignments.
2021-08-23 13:23:45 +00:00
Aaron Franke ae1702bee5
Replace HTTP links with HTTPS for sites with HTTPS versions 2021-08-22 20:13:11 -05:00
reduz 3682978aee Replace BIND_VMETHOD by new GDVIRTUAL syntax
* New syntax is type safe.
* New syntax allows for type safe virtuals in native extensions.
* New syntax permits extremely fast calling.

Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`.
These will require API rework on a separate PR as they work different than the rest of the functions.

Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-22 08:23:58 -03:00
Julien Nguyen 9bc5119d4e Fix assignment with operator on type member 2021-08-21 21:56:11 +02:00
Anilforextra c86db8b710 Remove redundant assignments.
Use used_in_transfer instead of used_in_compute twice.
2021-08-21 19:20:07 +05:45
Rémi Verschelde f5422c55fc
Merge pull request #49105 from vnen/gdscript-inner-preload-type
GDScript: Fix inner classes and preloaded scripts as types
2021-08-20 17:07:18 +02:00
George Marques 2e84a46a0f
GDScript: Make singleton functions be seen as static
Since those can be called without an instance.
2021-08-20 10:52:58 -03:00
Rémi Verschelde 603502c11c
Merge pull request #51902 from vnen/variant-internal-constructor
Fix initialization of objects in VariantInternal
2021-08-20 08:10:38 +02:00
George Marques a685535ad5
Fix initialization of objects in VariantInternal 2021-08-19 20:19:47 -03:00
George Marques 89695da337
GDScript: Fix memory leak when using self class as type 2021-08-18 18:58:45 -03:00
George Marques 1c8b076502
GDScript: Fix calling builtin static functions 2021-08-18 18:58:41 -03:00
George Marques 47545aeb1a
GDScript: Fix issue when calling `new()` on its own 2021-08-18 18:56:21 -03:00
George Marques 2ba4ee9198
GDScript: Fix inner classes and preloaded scripts as types 2021-08-18 18:56:21 -03:00
Mariano Suligoy 6207708607 GdScript: Use reduced constant expression result when doing binary operations. Fixes #50293 2021-08-18 09:19:09 -03:00
Mariano Suligoy 70c5feb32c Accept non unnamed enums as valid values for enums. Fixes #49357 2021-08-17 19:44:27 -03:00
Mariano Suligoy 7f37e2987a When analyzing GdScript sources, consider Enums as Dictionaries. Fixes #45558 2021-08-17 19:44:27 -03:00
Max Hilbrunner 5161c97c9c Remove underscore hacks
Way less cruft. :)

Co-authored-by: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
2021-08-17 16:10:28 +02:00
Rémi Verschelde 21a0af2686
Merge pull request #51762 from nekomatata/fix-crash-gdscript-cache
Fix crash when failing to load script from cache
2021-08-17 13:34:07 +02:00
PouleyKetchoupp 9973bf93ed Fix crash when failing to load script from cache 2021-08-16 16:27:25 -07:00
Paulb23 bcfc591f86 Reorganise text editor settings 2021-08-16 17:18:49 +01:00
Rémi Verschelde 81512a3732
Style: Cleanup code using `text_editor/completion/use_single_quotes` 2021-08-13 21:27:57 +02:00
kobewi 8a605d227d Prevent crash when awaiting in a getter/setter 2021-08-13 00:19:55 +02:00
kobewi e0572f7ef7 Fix crash when parsing Dictionary 2021-08-10 15:57:56 +02:00
SaracenOne 861bb3a488 Automatically call the _init function on base class if one does not exist. 2021-08-10 02:41:44 +01:00
Julien Nguyen 51b7179b5a Fix infinite loop when creating a newly inherited GdScript file 2021-08-09 23:52:31 +02:00
Francois Belair 070d634966 Fix LSP completion crashing on scene-less scripts 2021-08-06 14:55:05 -04:00
Rémi Verschelde 6ded4f52e8
Merge pull request #51283 from Razoric480/lsp-parse-from
Fix LSP parsing get_node only from the scene root
2021-08-06 10:13:09 +02:00
Fabio Alessandrelli d7dca072aa [Net] Default @rpc annotation should be puppet, not master. 2021-08-06 02:39:22 +02:00
Francois Belair 03f8fa9f62 Fix LSP parsing get_node only from the scene root 2021-08-05 12:30:06 -04:00
Rémi Verschelde a544e77822
Merge pull request #51247 from pycbouh/docs-extract-theme-items
Add theme item descriptions to the online documentation
2021-08-05 00:18:56 +02:00
Rémi Verschelde 73b1f5ac79
Merge pull request #48615 from Razoric480/lsp-rename
Implement LSP didSave notification and rename request
2021-08-05 00:18:31 +02:00
Yuri Sizov bf2839ea3e Add theme item descriptions to the online documentation 2021-08-04 22:27:10 +03:00
Fabio Alessandrelli 80fc90e82a
Merge pull request #50454 from Ev1lbl0w/gsoc21-dap
Implemented initial DAP support
2021-08-03 17:12:37 +02:00
Ev1lbl0w 7bccd5487e
Implemented initial DAP support
Implemented "output" event

Refactored "seq" field generation

Prevent debugging when editor and client are in different projects

Removed unneeded references to peer on the parser

Refactored way to detect project path

Implemented "setBreakpoints" request

Fix double events when terminating from client

Refactored "stopped" event

Implemented "stopped" with breakpoint event

Implemented "stackTrace", "scopes" and "variables" request

Report incoming number of stack dump variables

Implemented proper reporting of scopes and variables from stack frames

Prevent editor from grabbing focus when a DAP session is active

Implemented "next" and "stepIn" requests

Implemented "Source" checksum computing

Switched expected errors from macros to silent guards

Refactored message_id

Respect client settings regarding lines/columns behavior

Refactored nested DAP fields

Implement reporting of "Members" and "Globals" scopes as well

Fix error messages not being shown, and improved wrong path message
2021-08-02 10:43:35 +01:00
Rémi Verschelde 7adf4cc9b5
doc: Use self-closing tags for `return` and `argument`
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.
2021-07-30 15:29:52 +02:00
Francois Belair 41ef9cf789 Fix LSP reporting wrong types 2021-07-26 16:26:23 -04:00
Rémi Verschelde 92299989bd
Use Ref<T> references as iterators where relevant
And const when possible.
2021-07-26 19:27:11 +02:00
Julien Nguyen 6938dd72f2 Fix instantiate line class 2021-07-25 14:20:31 +02:00
Rémi Verschelde ac3322b0af
Use const references where possible for List range iterators 2021-07-25 12:22:25 +02:00
Aaron Franke 4e6efd1b07
Use C++ iterators for Lists in many situations 2021-07-23 17:38:28 -04:00
Hugo Locurcio 8ff8c1e5f8
Improve documentation for GDScript constants 2021-07-22 09:50:24 +02:00
Hugo Locurcio 4bd5e4fd9b
Use the standard C `INFINITY` and `NAN` constants directly
The `Math_INF` and `Math_NAN` defines were just aliases for those
constants, so we might as well use them directly.

Some portions of the code were already using `INFINITY` directly.
2021-07-21 10:41:08 +02:00
Fabio Alessandrelli ddb68f76ff [Net] Single `rpc` annotation. "sync" no longer part of mode.
- Move the "sync" property for RPCs to RPCConfig.

- Unify GDScript annotations into a single one:
  - `@rpc(master)` # default
  - `@rpc(puppet)`
  - `@rpc(any)` # former `@remote`

- Implement three additional `@rpc` options:
  - The second parameter is the "sync" option (which also calls the
    function locally when RPCing). One of "sync", "nosync".
  - The third parameter is the transfer mode (reliable, unreliable,
    ordered).
  - The third parameter is the channel (unused for now).
2021-07-20 11:17:59 +02:00
reduz 6631f66c2a Optimize StringName usage
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.

This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
Francois Belair 7c5335081c Implement didSave notification and rename request 2021-07-17 11:50:00 -04:00
Rémi Verschelde 06568bbfdf
Misc cleanup of header includes
Was looking for misuse of module headers without checking that the module is
actually enabled and got carried away...
2021-07-15 00:46:43 +02:00
reduz 5ad4f26659 Implement the ability to disable classes
* This PR adds the ability to disable classes when building.
* For now it's only possible to do this via command like:
  `scons disable_classes=RayCast2D,Area3D`
* Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
2021-07-13 09:25:14 -03:00
Fabio Alessandrelli 88d68346ee [Net] Rename NetworkedMultiplayerPeer to MultiplayerPeer. 2021-07-12 16:36:34 +02:00
Francois Belair 9a8421aa05 Implement applyEdit in LSP for signal connecting 2021-07-11 16:17:49 -04:00
Julien Nguyen bf8795c7af Fix crash when writing $. in the editor 2021-07-08 20:49:57 +02:00
Francois Belair 10429019ad Implement didClose notification in LSP 2021-07-08 11:40:15 -04:00
Rémi Verschelde a02620f3a5
Merge pull request #50009 from reduz/fix-suffixes-and-degrees
Fix editor suffixes and degrees conversion
2021-06-30 18:47:40 +02:00
reduz 75688772b3 Fix editor suffixes and degrees conversion
* Functions to convert to/from degrees are all gone. Conversion is done by the editor.
* Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees.
* Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m"
* In general, can add suffixes for EditorSpinSlider
Not covered by this PR, will have to be addressed by future ones:

* Ability to switch radians/degrees in the inspector for angle properties (if actually wanted).
* Animations previously made will most likely break, need to add a way to make old ones compatible.
* Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes.
* Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
2021-06-30 12:38:25 -03:00
K. S. Ernest (iFire) Lee 364416ecd8 Remove singleton variable shadowing. 2021-06-30 02:37:20 -07:00
Lightning_A e28fd07b2b Rename `instance()`->`instantiate()` when it's a verb 2021-06-19 20:49:18 -06:00
Rémi Verschelde 9b7c963d19
Merge pull request #48804 from EricEzaM/scripting-multi-error-support
Added support for scripts reporting multiple errors to ScriptTextEditor
2021-06-20 00:38:49 +02:00
Rémi Verschelde d88be9b70c
Merge pull request #44806 from madmiraal/consolidate_json
Consolidate JSON, JSONParseResults and JSONParser into JSON
2021-06-19 21:45:34 +02:00
Eric M d0e78c86d7 Added support for scripts reporting multiple errors to ScriptTextEditor
Scripts can now report multiple errors to the scripting editors in the engine. UI elements were added to support multiple errors.
2021-06-19 22:20:30 +10:00
Marcel Admiraal 2bafcd3422 Consolidate JSON, JSONParseResults and JSONParser into JSON
Renames JSON.parse_string() to parse()
Renames JSON.decode_data() to stringify()
2021-06-19 08:01:40 +01:00
Rémi Verschelde a9c53fa599
Merge pull request #49287 from reduz/expose-variant-internal-binders
Make some Variant internal functions public.
2021-06-19 01:11:03 +02:00
George Marques c4fcc678df
Merge pull request #49449 from SpectralDragon/fix-enum-equal-operation
Fix equal operation for typed enums
2021-06-18 17:18:44 -03:00
George Marques b5f1e88b2e
GDScript: Fix setting type of operator return value
Also write type adjust when needed for binary operators.
2021-06-18 13:09:35 -03:00
Francois Belair a56c2e459b Translate file path to URI on LSP symbol requests 2021-06-17 10:36:41 -04:00