Commit Graph

2804 Commits

Author SHA1 Message Date
e43370d0fa Merge pull request #80686 from azuloo/lsp-thread-connection-error
Fixes LSP connection error when launched in a separate thread
2023-08-21 19:26:43 +02:00
7d3bee73e4 Merge pull request #80247 from dalexeev/gds-for-loop-var-static-typing
GDScript: Add static typing for `for` loop variable
2023-08-21 19:26:32 +02:00
9becff0c54 Merge pull request #80745 from dalexeev/gds-improve-docgen
GDScript: Improve DocGen
2023-08-21 08:22:31 +02:00
34d432807f GDScript: Improve DocGen 2023-08-19 19:54:43 +03:00
a017e9c698 Merge pull request #80119 from MewPurPur/svg-opacities-standardization
Optimize and fix up some SVGs
2023-08-18 09:30:23 +02:00
6c59ed9485 GDScript: Add static typing for for loop variable 2023-08-17 20:54:34 +03:00
e71ec0b5eb Merge pull request #80365 from dalexeev/gds-allow-mix-indent-on-blank-lines
GDScript: Allow mixed indentation on blank lines
2023-08-17 11:25:04 +02:00
4f00f925b3 Merge pull request #78552 from dalexeev/gds-check-get-node-in-static-func
GDScript: Check `get_node()` shorthand in static functions
2023-08-17 11:20:32 +02:00
00ad9e484e GDScript: Allow mixed indentation on blank lines 2023-08-17 10:54:43 +03:00
a5710d468b Fixes LSP connection error when launched in a separate thread 2023-08-16 16:29:28 +03:00
6b5e44f3ca Merge pull request #80510 from dalexeev/gds-fix-access-inner-class-from-inside
GDScript: Fix "Identifier not found" error when accessing inner class from inside
2023-08-14 15:28:57 +02:00
e1bb9b523d Merge pull request #80506 from sepTN/fix-lambda-get_method
Fix `get_method` from named lambda
2023-08-14 09:36:35 +02:00
93318d2dd5 Optimize and fix up some SVGs 2023-08-13 17:48:17 +03:00
fa8fec2cc1 Fix superfluous " in error message 2023-08-13 00:38:10 +02:00
793cc080cb Fix get_method from named lambda 2023-08-11 20:31:08 +07:00
fb45cab133 GDScript: Fix "Identifier not found" error when accessing inner class from inside 2023-08-11 11:22:01 +03:00
0f27c4ad80 GDScript: Check get_node() shorthand in static functions 2023-08-09 17:11:38 +03:00
40363a88bd Merge pull request #80283 from ajreckof/fix-completion-option-location-not-found
Fix completion option location not found
2023-08-07 14:53:10 +02:00
87c91dc452 Merge pull request #79761 from dalexeev/gds-hl-comment-markers
GDScript: Highlight comment markers (`TODO`, `FIXME`, etc.)
2023-08-07 14:49:09 +02:00
faaf27f284 Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
54231682ba GDScript: Highlight comment markers (TODO, FIXME, etc.) 2023-08-07 11:33:51 +03:00
4b724c9252 Fix completion option location not found 2023-08-05 02:15:45 +02:00
95d71dbad1 Merge pull request #80165 from dalexeev/gds-fix-native-signal-not-found
GDScript: Fix regression with native signal not found
2023-08-03 14:46:48 +02:00
5e1671afd9 Merge pull request #78540 from anvilfolk/gdresloaderr
GDScript: Add error message when a GDScript resource fails to load.
2023-08-03 14:46:33 +02:00
f19377160c GDScript: Fix regression with native signal not found 2023-08-02 15:42:36 +03:00
f37d192860 Merge pull request #80109 from timothyqiu/not-markdown
Fix invalid use of markdown syntax in classref
2023-08-01 20:04:00 +02:00
79e28e0914 Merge pull request #80020 from dalexeev/gds-pot-gen-const-string
GDScript: Add constant string support for POT generator
2023-08-01 20:03:56 +02:00
f6e02dc437 Merge pull request #79990 from vnen/gdscript-assume-op-types
GDScript: Optimize operators by assuming the types
2023-08-01 17:25:52 +02:00
68a49c4959 Merge pull request #79935 from dalexeev/gds-validate-node-path-annotation
GDScript: Add validation for `@export_node_path` annotation arguments
2023-08-01 17:25:44 +02:00
c4b5161ed1 Fix invalid use of markdown syntax in classref
Also:
* changed `[b]true[/b]` to `[code]true[/code]`
* use `[i]` for mathematical constant "e"
* use `[b]` for button text & menu item text
* improve markups about "tap1" and "tap2" in AudioEffectDelay
2023-08-01 22:44:31 +08:00
3de7dd902c Merge pull request #79880 from dalexeev/gds-fix-id-shadowing-below
GDScript: Fix bug with identifier shadowed below in current scope
2023-07-31 21:01:36 +02:00
41efc7cb86 Merge pull request #78941 from dalexeev/gds-doc-comments-deprecated-and-experimental
GDScript: Add `@deprecated` and `@experimental` doc comment tags
2023-07-31 21:01:08 +02:00
efbff1369a Merge pull request #78254 from dalexeev/gds-fix-property-group-name-conflict
GDScript: Fix conflict between property and group names
2023-07-31 21:01:03 +02:00
62b4643d85 Merge pull request #73226 from AThousandShips/gdscript_tok_improvement
Improve GDScript identifier tokenization
2023-07-31 21:00:57 +02:00
cca57171c1 Add error message when a GDScript resource fails to load.
Currently, GDScripts who are only loaded through `ResourceLoader::load()`,
like Autoloads, do not have a pathway to announce there is an error in their
code. This contributes to significant confusion in error projects when
autoloads are involved. At least partially closes #78230.
2023-07-31 13:16:29 -04:00
ae42c23e09 GDScript: Add constant string support for POT generator 2023-07-29 19:24:48 +03:00
c1bca65d09 GDScript: Optimize operators by assuming the types
This assumes that operators are called usually with the same type of
operands as the first time. So it stores the types of the first run and
if matched it uses an optimized path by calling the validated operator
function directly. Otherwise it uses the regular untyped evaluator.

With this change, if operators do use the same type they run quite
faster. OTOH, if the types mismatch it takes longer to run than they
would with the previous code.
2023-07-28 13:08:21 -03:00
5b4403c9a5 GDScript: Add validation for @export_node_path annotation arguments
Co-authored-by: George Marques <george@gmarqu.es>
2023-07-26 20:36:47 +03:00
5e512b705e Support threads in the script debugger
* This implementation adds threads on the side of the client (script debugger).
* Some functions of the debugger are optimized.
* The profile is also now thread safe using atomics.
* The editor can switch between multiple threads when debugging.

This PR adds threaded support for the script language debugger. Every thread has its own thread local data and it will connect to the debugger using multiple thread IDs.
This means that, now, the editor can receive multiple threads entering debug mode at the same time.
2023-07-26 12:06:45 +02:00
d53fc92b4c GDScript: Fix bug with identifier shadowed below in current scope 2023-07-26 11:26:57 +03:00
0e1c9531b5 Merge pull request #75620 from jpcerrone/fix_shadow_warnings_not_going_away_after_ignoring
Fix for not being able to ignore shadowing warnings on class scope
2023-07-25 21:25:45 +02:00
13c73500ab Fix for not being able to ignore shadowing warnings on class scope 2023-07-24 17:22:12 -03:00
74d20fe17e Merge pull request #75216 from rune-scape/rune-dependancy-errors
Script editor (GDScript): Show depended script errors
2023-07-24 19:32:20 +02:00
2bd904e3db Merge pull request #73196 from Vilcrow/fix-lookup-symbol
Fix jumping to function definition using `Ctrl+LMB` or the "Lookup Symbol" button
2023-07-24 19:32:12 +02:00
83b01708b2 Script editor: Show depended script errors 2023-07-24 15:49:39 +02:00
de0f7935dd Merge pull request #79524 from aaronfranke/gds-test-inst-placeholder
Change GDScript tests to use InstancePlaceholder as the example abstract class
2023-07-21 17:15:32 +02:00
d17811c814 Re-architect how Android plugins are packaged and handled at export time
The previous packaging format for Godot Android plugins consisted of the plugin's `gdap` config file accompanied by binaries defined in the `gdap` file.
This format is now deprecated (starting with Godot 4.2), and instead Godot Android plugins are now packaged as `EditorExportPlugin` plugins.

The `EditorExportPlugin` class has been updated with the following methods to provide the necessary set of functionality:
- `_supports_platform`: returns true if the plugin supports the given platform
- `_get_android_dependencies`: retrieve the set of android dependencies (e.g: `org.godot.example:my-plugin:0.0.0`) provided by the plugin
- `_get_android_dependencies_maven_repos`: retrieve the urls of the maven repos for the provided android dependencies
- `_get_android_libraries`: retrieve the local paths of the android libraries (AAR files) provided by the plugin
- `_get_android_manifest_activity_element_contents`: update the contents of the `<activity>` element in the generated Android manifest
- `_get_android_manifest_application_element_contents`: update the contents of the `<application>` element in the generated Android manifest
- `_get_android_manifest_element_contents`: update the contents of the `<manifest>` element in the generated Android manifest
2023-07-18 19:14:53 +02:00
2c55214068 Merge pull request #79205 from anvilfolk/populate-class-members
GDScript: Solve `_populate_class_members()` cyclic dependency problem
2023-07-17 19:15:16 +02:00
6a8a9cd279 Change GDScript tests to use InstancePlaceholder as the example abstract 2023-07-15 18:28:08 -05:00
d5a30f7af8 Merge pull request #79163 from anvilfolk/fullscripterror
GDScript: Add static analysis error reporting in GDScriptCache::get_full_script()
2023-07-14 18:49:32 +02:00