Commit Graph

67 Commits

Author SHA1 Message Date
8ed3b41865 Re-extracted class docs. 2023-08-26 22:41:21 +02:00
1a5cba555c Backported godot4 PR: 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.
- reduz
PR 76582
Will be available here after it's merged:
6b176671c4
2023-06-14 14:43:55 +02:00
a7f1f3356c Re-extracted class docs pt2. 2023-06-13 16:51:37 +02:00
lawnjelly
22d90711da Make acos and asin safe
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.

The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-06-11 08:41:42 +02:00
f058c87868 Backported from godot4: Rework Navigation Avoidance
Rework Navigation Avoidance.
- smix8
a6ac305f96
2023-06-10 20:58:49 +02:00
HolonProduction
4410d81189 Suggest class_name in 3.x autocompletion. 2023-05-01 12:30:43 +02:00
09138d762c Ported: Use hash table for GDScript parsing
GDScript now uses hash table for lookup of type lists / functions / keywords, instead of linear String comparisons.
- lawnjelly
19f2006ec0
2023-03-18 09:44:01 +01:00
3d1abe86fb Ported: GDScriptParser - don't use index operator on linked list
Index operators are super slow with linked lists. This came up in profiling the parsing, iterating sequentially using iterator is much faster.
- lawnjelly
ef914dac31
2023-03-18 09:29:08 +01:00
59a4e14b22 Ported: Allow unicode identifier in GDScript syntax highlighter
- timothyqiu
5a283bdbcd
2023-02-21 13:32:12 +01:00
d5cbb5ce1d Ported: 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
- RevoluPowered, akien-mga
1881b3adc5
2023-02-21 13:24:53 +01:00
c3f01e0b3d Ported: Highlight control flow keywords with a different color. This makes them easier to distinguish from other keywords.
- Calinou
e905e8f145
2023-02-21 13:20:25 +01:00
8eca52fc76 Ported: Fix highlight color for class attributes that are also keywords.
- lucasvanmol
749d0c708c
2023-02-21 13:14:09 +01:00
e42c604bc3 Ported: Switch from recursion to iterative for backfilling colour regions.
- Paulb23
ee4a1c99a7
2023-02-21 13:11:37 +01:00
a79792ee67 Ported: Fix color region end key seach and start key order.
- Paulb23
6cdcdbc242
2023-02-21 13:08:49 +01:00
6ea9b581d7 Ported: Fix colour region continuation over blank lines, issue 41120
- Paulb23
5cf2cf8646
2023-02-21 12:53:41 +01:00
c356806ebf Ported: Extract Syntax highlighting from TextEdit and add EditorSyntaxHighlighter
- Extacted all syntax highlighting code from text edit
- Removed enable syntax highlighting from text edit
- Added line_edited_from signal to text_edit
- Renamed get/set_syntax_highlighting to get/set_syntax_highlighter
- Added EditorSyntaxHighligher
- Paulb23
bc4cee4458
2023-02-21 01:30:59 +01:00
0edf8fe956 Ported: Convert syntax highlighters into a resource
- Paulb23
2f1080be9b
2023-02-20 14:51:10 +01:00
6026725f3b Renamed ScriptEditor to EditorScriptEditor. 2023-02-18 16:52:26 +01:00
990f8aaecd Prefix filenames in the editor_script_editor module with editor_. 2023-02-18 16:22:59 +01:00
6e88ad5bae Moved the editor_code_editor module to the editor_modules folder. 2023-02-18 15:45:50 +01:00
a14821587f Renamed the code_editor module to editor_code_editor. 2023-02-18 15:31:58 +01:00
65c91c6899 Moved ScriptEditorPlugin and ScriptEditor out from the editor folder. 2023-02-18 15:08:56 +01:00
e32e63242b Moved ScriptEditor and ScriptEditorPlugin to a new editor subfolder. 2023-02-18 14:36:51 +01:00
4dd84847eb Moved ScriptEditor to it's own file. 2023-02-18 13:22:43 +01:00
8d7090241a Make sure that the editor can be built even when the new code_editor module is disabled. 2023-02-17 23:20:10 +01:00
SaracenOne
109e2f7385 Fix local variables not showing when breaking on final line
(cherry picked from commit 657b9b659680194f6d3aa546a4b20246bb51fb39)
2023-01-16 14:03:22 +01:00
2cd4e4d828 Renamed Set to RBSet. 2023-01-15 19:42:08 +01:00
1b0aac6028 Renamed Map to RBMap. 2023-01-15 19:12:50 +01:00
227e32b67c Now modules make use of the new registration levels. 2023-01-15 17:04:00 +01:00
e9a19c1a66 Added module initialization levels (similar idea to what's in godot4, although I added more). 2023-01-15 11:46:13 +01:00
fc991ede18 Re-extracted class docs. 2023-01-14 13:38:58 +01:00
ray90514
2693ad37f7 Fix Script editor completion doesn't suggest members of a script for type hints 2022-12-22 14:48:51 +01:00
Hugo Locurcio
e7f328d8d9 Document print_stack() and get_stack() requiring a debugger connection
(cherry picked from commit 530e31d4a38a6129c0b7ac7cbd9928788ed28e4b)
2022-12-12 12:11:56 +01:00
41f130d9fd Re-extracted the class docs. 2022-11-20 23:27:04 +01:00
smix8
f7f386b697 Fix GDScript export hint for Navigation2D layer names 2022-10-08 17:29:21 +02:00
dzil123
6cb08c7164 Fix variables highlighting as types 2022-10-08 15:56:49 +02:00
d41239d425 Now the return value discarded warning is disabled by default in gdscript and cscript. 2022-08-23 13:09:56 +02:00
a1974c8338 Re-extracted the class docs. 2022-08-23 13:09:12 +02:00
714547cb17 Re-extracted class docs. 2022-08-21 00:40:49 +02:00
88d6ef51eb Removed additional direct script rpc mode query when sending rpcs, in order to simplify that codepath as much as possible. Also removed the remote, remotesync etc. keywords from gdscript, as now they won't work anymore. Node's rpc_config() method should be used instead of marking methods with keywords in scripts. 2022-08-19 01:19:33 +02:00
4c4e19223e Added _theme_ infix to the theme helper methods in Control. 2022-08-17 20:57:16 +02:00
9757c39f05 Moved a few more core classes. 2022-08-17 17:43:49 +02:00
686663d3e4 Moved around more classes in core. 2022-08-17 16:01:01 +02:00
04feb63860 Moved Engine and projectSettings. 2022-08-17 15:35:28 +02:00
220b2db443 Moved String and related classes under a string folder in core. 2022-08-17 14:19:55 +02:00
dc9cc716c7 Moved Object related classes under core/object. 2022-08-17 13:45:14 +02:00
9555ee56b9 Moved Variant related classes under a variant folder in core. 2022-08-17 13:17:12 +02:00
388b88678e Moved container related classes in core under a new containers directory. 2022-08-17 12:53:49 +02:00
e71e3ed897 Now Vector4, Vector4i, Projection, PoolVector4Array, PoolVector4iArray, are built in variant types. Also reordered the Variant's Type enum, renamed _RID in it to RID, fixed a few smaller issues and removed some very old compat code. 2022-08-16 21:55:56 +02:00
730bce8587 Renamed Quat to Quaternion for consistency with the other engine math classes. 2022-08-13 15:22:33 +02:00