Commit Graph

1251 Commits

Author SHA1 Message Date
Rémi Verschelde 818f1eed31 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 14:53:37 +02:00
Dallon Feldner a99cc8bc29 Don't print redundant errors when parsing GDScript 2022-07-22 11:02:29 -05:00
Haoyu Qiu a3b282c6cc Fix doc for print_debug 2022-07-20 21:17:56 +08:00
janglee 00c6cdd793 GDScript: Fix autocompletetion showing class names with an underscore
Fixes #35469.
2022-07-05 12:29:23 +02:00
Rémi Verschelde 06f4a28306 Update docs links still pointing to 3.4 2022-06-29 12:03:04 +02:00
Haoyu Qiu b43fdea0d5 Classref typo fixes and improvements 2022-06-17 15:19:31 +08:00
Kurt Lachmann c07d1d0de8 Use insertText from the internal autocompletion
* GDScriptLanguage::complete_code already adds parentheses to function calls, and does this a lot smarter than the language server right now.
* Instead of the previous naive approach we now reuse the same logic as the internal editor.
* For this to have any effect we also have to send the `insertText` field already during the completionRequest and not only during resolve.

(cherry picked from commit bbb07ff8cb)
2022-06-16 10:11:33 +02:00
smix8 8bd7c6188b [3.5] Update NavigationServer backport
Backports features and bugfixes from current Godot 4.0 to 3.5 and brings functions and codebase of both version largely in sync to make tutorials more compatible and future backports easier.
2022-06-14 05:55:14 +02:00
SnailRhymer b94a0d486d Make Lookup Symbol recognize assert, preload, and yield in the script editor 2022-06-01 22:21:36 +01:00
Rémi Verschelde 88dba8e625 Fix typos with codespell
Using codespell 2.2-dev from current git.
2022-05-23 21:41:46 +02:00
George Marques 3a8f2dda01
GDScript: Keep builtin method info on release builds
This is so type inference still works properly after exporting the
project.
2022-05-17 11:01:12 -03:00
Eduardo Rodrigues 2398db0f34 Improve description for GDScript built-in range
Rewrites the definition of how the function works.
Reworks the style of the examples and adds a negative range example.
Changes the while loop to a range loop in the array backwards example.

(cherry picked from commit b2841ce194)
2022-05-16 17:14:43 +02:00
Rémi Verschelde 5e693b6d84 Fix warnings found by Emscripten 3.1.10
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.

(cherry picked from commit d8935b27a9)
2022-05-16 16:38:26 +02:00
Rémi Verschelde c3065e2186
Merge pull request #60773 from timothyqiu/rand-doc 2022-05-05 18:10:14 +02:00
Haoyu Qiu 84cc0c9c47 Improve documentation of `rand_range` 2022-05-05 21:52:30 +08:00
Haoyu Qiu 86b14496b1 Document lerp_angle behavior when angles are approximately PI apart
(cherry picked from commit 492903a0b2)
2022-05-05 13:45:29 +02:00
Haoyu Qiu acf9870397 Fix incorrect usage for some export variables 2022-04-29 20:12:47 +08:00
Haoyu Qiu d088128b43 Remove duplicate editor settings definitions 2022-04-27 15:26:46 +08:00
George Marques 663978e8ba
GDScript: Properly check type info in release builds
This makes sure native methods and properties have the actual type
checked to compare for compatibility and inference.
2022-04-01 18:20:37 -03:00
Hugo Locurcio b087538119
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01:00
Haoyu Qiu 871a73341b Fix crash when is-operator right-hand-side is null 2022-03-13 23:17:25 +08:00
George Marques f2166ba92f
GDScript: Don't coerce default values to the export hint type
This behavior is inconsistent with non tools builds and can create
issues. Instead, a warning is emitted if there's a type mismatch. If the
type can't be converted, an error is shown instead.

For the editor it gives a converted value to avoid issues with the
property editor, which expects the correct type.
2022-03-02 12:26:17 -03:00
George Marques a3fe028809
GDScript: Infer variable types on release
Otherwise this creates an inconsistency between debug and release
builds, potentially leading to crashes.
2022-02-09 09:07:18 -03:00
Haoyu Qiu 8a42ab7a85 Fix crash when `is` keyword is tested against a String variable 2022-01-14 23:37:04 +08:00
Rémi Verschelde a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Rémi Verschelde 79aa64efff
Merge pull request #56296 from timothyqiu/pending-func-states 2022-01-12 16:47:56 +01:00
Max Hilbrunner 717801c9cb Fix docs links in 3.x after docs reorg 2022-01-05 11:54:52 +01:00
Hugo Locurcio a6db1c758a
Improve `lerp()`, `lerp_angle()` and `inverse_lerp()` documentation
This clarifies that `lerp()` can be used both for interpolation
and extrapolation.
2022-01-04 00:41:37 +01:00
Haoyu Qiu 53af7ee482 Clear pending function states when reloading GDScript 2021-12-28 15:29:21 +08:00
Francois Belair b8f2f48d86
Remove extraneous return to LSP
(cherry picked from commit ad01201f34)
2021-12-09 22:08:48 +01:00
Francois Belair ba1d6b7532
Prevent LSP adding signal func to non GDScripts
(cherry picked from commit 66f1b4bf66)
2021-12-06 17:51:11 +01:00
kobewi 5caab0a8ef
Correct the doc about ease()
(cherry picked from commit 44e6655924)
2021-11-25 22:23:53 +01:00
Marcel Admiraal 4d3690eba5 Remove unimplemented methods 2021-11-18 12:47:36 +00:00
Rémi Verschelde 3ac2999f22
Replace Godot docs URL with `$DOCS_URL` in XML class reference 2021-11-15 17:22:47 +01:00
kobewi 175870ccc7
Show built-in script names in the debugger
(cherry picked from commit 3b320cd9fe)
2021-11-15 17:22:47 +01:00
Rémi Verschelde b0cd38b7e3
Merge pull request #42625 from RandomShaper/fix_dict_3.2 2021-11-09 15:55:43 +01:00
Pedro J. Estébanez a7aad78fd0 Add recursive comparison to Array and Dictionary
...and expose it to GDScript.

Co-authored-by: Emmanuel Leblond <emmanuel.leblond@gmail.com>
2021-11-09 15:08:22 +01:00
Hugo Locurcio 63d214f04b
Remove hash symbol in front of opcode error messages in GDScript
The hash symbol creates spurious issue references on GitHub if
the message is posted outside a code block, which means some issues
have a lot more references than originally intended.
2021-11-09 12:20:51 +01:00
Rémi Verschelde 2f10793467
Merge pull request #54117 from Pineapple/dont-ignore-type-mismatch-in-setter 2021-11-08 19:26:58 +01:00
Rémi Verschelde bd828c4d81
Merge pull request #54227 from akien-mga/3.x-gdscript-multiline-indexing 2021-11-08 15:03:24 +01:00
Rémi Verschelde 14c366ddd7
Bump version to 3.5-beta 2021-11-05 16:10:17 +01:00
Rémi Verschelde 14ef65e49b
Merge pull request #54348 from akien-mga/3.x-clang-format-dont-align-operands 2021-10-28 15:43:15 +02:00
Rémi Verschelde 1b65550ec7
clang-format: Various fixes to comments alignment from `clang-format` 13
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 14:50:32 +02:00
Rémi Verschelde 42d385b312
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 13:23:38 +02:00
Yuri Sizov b3fc278dcf Ignore property groups and categories in GDScript code completion 2021-10-26 20:01:49 +03:00
Rémi Verschelde 92664f03a9
GDScript: Support multiline indexing with `[]`
Fixes #35417.
2021-10-25 15:50:59 +02:00
Bartłomiej T. Listwon 5a7bd296af Don't ignore the type mismatch in setter function 2021-10-22 12:43:13 +02:00
Yuri Sizov b6b65e08d1 Remove redundant String operation from GDScript enum exports 2021-10-11 02:12:30 +03:00
Rafał Mikrut 1558f4a599 Speedup parsing big GDScript files 2021-10-07 07:39:56 +02:00
Rémi Verschelde 3f05c388a1
Merge pull request #52521 from kdiduk/52499-preload-parsing-error-when-newline-encountered 2021-10-06 10:13:19 +02:00