Commit graph

395 commits

Author SHA1 Message Date
Paulb23
680dc9e81a Add comment and string tracking to CodeEdit 2021-06-01 15:38:45 +01:00
kobewi
4bee21bcc4 Add preload() to resource path when holding Ctrl 2021-05-27 12:22:32 +02:00
Hugo Locurcio
80f4e407b2
Add a keyboard shortcut to select the word under cursor in TextEdit
This also acts as a general-purpose "deselect" shortcut since pressing
it a second time will deselect text.

This is available both in the script editor and in TextEdit fields
in use, both in the editor and projects.

The Duplicate Line script editor shortcut was moved to Ctrl + Shift + D
since it conflicts with the new shortcut (Ctrl + D). The rationale for
doing so is that Duplicate Line is a less commonly used action, and
its behavior can be replicated by copying and pasting the current line
anyway. (With no selection active, the whole line will be copied.)
2021-05-22 23:47:43 +02:00
Paulb23
00e10a842f Add custom background line colour to TextEdit and remove marked lines 2021-05-22 14:41:55 +01:00
Rémi Verschelde
37c3b33253
Merge pull request #48605 from sent44/scripteditor_get_codeedit
Add `get_base_editor` to `ScriptEditorBase`
2021-05-16 23:06:01 +02:00
sent44
2b30728ebf Add get_base_editor to ScriptEditorBase 2021-05-15 18:47:00 +07:00
llschuster
6b55ec2ca9 text-editor: fix Clicking warning doesn't center around line 2021-05-13 17:07:39 +02:00
Kongfa Waroros
6294507acb Add Various ColorPicker shapes 2021-04-06 22:48:03 +07:00
Kyle
2b775bd698 Fixes ctrl-click function line centering
When ctrl-clicking in the code editor, the view will now be centered on the function result.

Also replaces a circumstance where goto_line_centered should be used.
2021-03-24 12:29:14 -04:00
Aaron Franke
10d7fccb54
Rename ButtonList enum and members to MouseButton 2021-03-23 07:13:23 -04:00
Eric M
49714b0963 Removed hardcoded shortcuts from /scene and converted to input actions
This removes hardcoded actions from things like LineEdit and TextEdit.

Previously, things like copy, paste, etc were all hardcoded to Ctrl+C, Ctrl+V, etc. They could not be changed. This allows the possibility of them being changed, by making them use the action map. This has the added benefit of greatly simplifying the input handling logic in those controls. The logic which was previously in a huge and hard to follow switch statement has been extracted to individual methods.
2021-02-18 16:22:51 +01:00
reduz
f8d03b98e7 Improve resource load cache
-Added a new method in Resource: reset_state , used for reloading the same resource from disk
-Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type)
-Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
2021-02-11 15:44:28 -03:00
Marcel Admiraal
8eb39f4e8b Change themes *_color_* to *_*_color
Changed:
font_color_accel -> font_accelerator_color
font_color_bg -> font_unselected_color
font_color_disabled -> font_disabled_color
font_color_fg -> font_selected_color
font_color_hover -> font_hover_color
font_color_hover_pressed -> font_hover_pressed_color
font_color_pressed -> font_pressed_color
font_color_readonly -> font_readonly_color
font_color_selected -> font_selected_color
font_color_shadow -> font_shadow_color
font_color_uneditable -> font_uneditable_color
icon_color_disabled -> icon_disabled_color
icon_color_hover -> icon_hover_color
icon_color_hover_pressed -> icon_hover_pressed_color
icon_color_normal -> icon_normal_color
icon_color_pressed -> icon_pressed_color

Also includes:
font_outline_modulate -> font_outline_color
tab_fg -> tab_selected
tab_bg -> tab_unselected
2021-01-24 06:28:49 +00:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Marcel Admiraal
5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
Marcel Admiraal
4b8b803931 Rename Control margin to offset 2020-12-23 06:25:56 +00:00
Rémi Verschelde
a09846e015
Merge pull request #42109 from EricEzaM/PR/input-and-shortcuts-rework
Shortcuts rework - fixed issues with input propagation and triggering of unwanted shortcuts.
2020-11-28 09:04:25 +01:00
bruvzg
3be31c4960
[Complex Text Layouts] Refactor TextEdit and CodeEdit controls. 2020-11-26 14:25:50 +02:00
bruvzg
99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
Eric M
efe5c250d5 Implement new shortcuts system.
unhandled_key_input changed to unhandled_button_input. Controls can set a 'shortcut_context' which they can then use to determine if their shortcuts should be triggered or not, based on if the viewport's focused GUI control is a child of their 'shortcut context'.
2020-11-23 21:14:26 +10:00
Paulb23
c0da97d29c Remove breakpoints from editor settings 2020-09-10 20:35:28 +01:00
Paulb23
33ab9cd621 Move safe line color into editor 2020-09-10 20:35:28 +01:00
Paulb23
d18a90b8f0 Move ConnectionGutter to editor code_editor 2020-09-10 20:35:28 +01:00
Paulb23
4d7df24d46 Add main_gutter (breakpoints, bookmarks, execution lines) to code_edit 2020-09-10 20:35:28 +01:00
Paulb23
a0b409cb14 Add and convert editor to use CodeEdit 2020-09-10 20:35:27 +01:00
Paulb23
b289bb514b Fixed script_editor info_clicked signal not being connected 2020-07-29 17:51:27 +01:00
Andrii Doroshenko (Xrayez)
7247247522 Make unsaved scripts in the script editor more user-friendly
Unsaved scripts were previously displayed with blank tabs, which are
mostly a result of deleted or improperly moved scripts.

This patch makes sure that those kind of scripts are displayed as
"[unsaved]" now, and ensures that scripts are removed from the list
while deleting scripts from the filesystem dock preventing the unsaved
tabs to appear in the first place (a user is already prompted with
"no undo" warning while deleting any file).

A user is always prompted to save those "[unsaved]" scripts if they
attempt to close them without saving in any case except as described
above.
2020-07-26 16:05:44 +03:00
Rémi Verschelde
5700429e4e
Merge pull request #33760 from nekomatata/script-editor-init-optimization
Optimized ScriptEditor initialization when many scripts are loaded
2020-07-26 14:05:56 +02:00
George Marques
95c0909290
Add warning checks in GDScript analyzer
Reenable checking those when validating code.
2020-07-20 11:38:40 -03:00
PouleyKetchoupp
ccff2f2551 Optimized ScriptEditor initialization when many scripts are loaded
This change avoids the editor to freeze for several seconds when a
project with lots of scripts is loaded in the editor.

It focuses on a few heavy operations previously executed on all
previously loaded scripts:
- Initialize script resource (script validation/parsing) only
on focus
- ScriptTextEditor: code editor and edit menu are added to the
scene only on focus
- Add to recent scripts only when opening new scripts
(load/save scene metadata)
2020-07-17 09:02:24 +02:00
Paulb23
bc4cee4458 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
2020-07-11 17:09:58 +01:00
Paulb23
156daddaaf Expose Syntax highlighter for editor plugins 2020-07-11 15:40:00 +01:00
Paulb23
2f1080be9b Convert syntax highlighters into a resource 2020-07-11 15:26:58 +01:00
George Marques
9654365547
Add a map of autoloads to ProjectSettings
So places that need to look into it can use the list instead of parsing
ProjectSettings details (like checking "*" in path for testing if it's
singleton).
2020-07-06 12:35:51 -03:00
Yuri Roubinsky
25cb5a42e0 Fix error label clicking in status bar for shader editor 2020-06-23 11:10:33 +03:00
Hugo Locurcio
0c0ee427d2
Improve the text appearance in the script editor warnings panel
- Make the Ignore button's position identical across all warnings
  by moving it to the left.
- Change the Ignore button's text and color to make it more obvious
  that it can be clicked.
- Use the editor font instead of the default project font to match
  the rest of the editor.
2020-05-24 14:30:44 +02:00
Rémi Verschelde
0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Rémi Verschelde
4d50f747d5
Merge pull request #37293 from Janglee123/ctrl-click-improvements
Improved go-to definition (Ctrl + Click)
2020-05-05 16:49:15 +02:00
janglee
be7a353c70 Improved go-to definition (Ctrl + Click)
Co-Authored-By: Bojidar Marinov <bojidar.marinov.bg@gmail.com>
2020-05-05 10:46:12 +05:30
Rémi Verschelde
2cd952bd84 Fix handling of PROPERTY_USAGE_SUBGROUP in DocData and editor
Subgroups were added in #37678 but not properly handled everywhere
where PROPERTY_USAGE_GROUP is.
2020-04-20 17:13:06 +02:00
lupoDharkael
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky
441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky
4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +01:00
Rémi Verschelde
cb282c6ef0 Style: Set clang-format Standard to Cpp11
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.

Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-17 07:36:24 +01:00
Rémi Verschelde
951ecc4f79
Merge pull request #36518 from Janglee123/no-underlined-keywords
Removed underlining of not clickable symbols
2020-03-12 22:24:43 +01:00
janglee
50a570c9c1 Removed underlining for not clickable symbols 2020-03-11 08:57:21 +00:00
Rémi Verschelde
e2b66cacf7
Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodes
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-03-01 23:00:42 +01:00
Rémi Verschelde
01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
nathanwfranke
2dd498df70 Fix autocomplete and GDScript Highlighting for types
Types include new integer types and others
2020-02-26 16:13:28 -06:00
Juan Linietsky
33b5c57199 Variant: Added 64-bit packed arrays, renamed Variant::REAL to FLOAT.
- Renames PackedIntArray to PackedInt32Array.
- Renames PackedFloatArray to PackedFloat32Array.
- Adds PackedInt64Array and PackedFloat64Array.
- Renames Variant::REAL to Variant::FLOAT for consistency.

Packed arrays are for storing large amount of data and creating stuff like
meshes, buffers. textures, etc. Forcing them to be 64 is a huge waste of
memory. That said, many users requested the ability to have 64 bits packed
arrays for their games, so this is just an optional added type.

For Variant, the float datatype is always 64 bits, and exposed as `float`.

We still have `real_t` which is the datatype that can change from 32 to 64
bits depending on a compile flag (not entirely working right now, but that's
the idea). It affects math related datatypes and code only.

Neither Variant nor PackedArray make use of real_t, which is only intended
for math precision, so the term is removed from there to keep only float.
2020-02-25 12:55:53 +01:00
bruvzg
1af06d3d46
Rename scancode to keycode.
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-25 12:30:33 +02:00
Fabio Alessandrelli
cbc450c0e5 Huge Debugger/EditorDebugger refactor. 2020-02-21 11:12:03 +01:00
Juan Linietsky
69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Juan Linietsky
3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
Hugo Locurcio
5c659dd399
Increase the width of the "Connections to method" dialog
This closes #36245.
2020-02-15 16:36:10 +01:00
Dominik 'dreamsComeTrue' Jasiński
4c80beab44 Added 'Replace in files' functionality to text editors
Fixes issue #31146
2020-02-13 23:45:05 +01:00
Juan Linietsky
3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
andrycodestuffs
d0b3cb89f7 Fixed unknown symbol drawn instead of tabs in breakpoints/bookmarks lists
Tab characters were not rendered properly in the breakpoints and
bookmarks lists of the script editor if the bookmarked line was a
comment, resulting in unknown ASCII symbols “�”.

Fixes #34046.

Also changed formatting a bit to enclose the code in backticks (like in
Markdown) instead of quotes.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-01-16 13:50:30 +01:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Rémi Verschelde
e37ad996a1
Merge pull request #34625 from timothyqiu/i18n
Makes more editor strings translatable
2019-12-30 17:28:11 +01:00
Haoyu Qiu
8cf941a8cb Makes more editor strings translatable
* Title of Sprite Editor convert preview dialogs
* Title of UV Channel Debug dialog
* Various editor warnings
* GridMap popup menu item "Paste Selects"
* Tileset editor shape button texts
* MeshLibrary update confirmation text
2019-12-30 10:36:31 +08:00
Haoyu Qiu
078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
Rémi Verschelde
f7d8dd79e9
Merge pull request #34441 from KoBeWi/wrapping_things_up
Fix code editor not always centering to bookmarks
2019-12-22 12:34:03 +01:00
Yuri Roubinsky
c89df816c1 Fix ScriptTextEditor encapsulation 2019-12-19 09:30:40 +03:00
Tomasz Chabora
b8bbf5a55f Fix code editor not always centering to bookmarks 2019-12-18 21:58:47 +01:00
Yuri Roubinsky
bb7b614da1 Prevent showing toggle scripts panel switch in shader editor 2019-12-17 11:19:43 +03:00
Tomasz Chabora
f4d0e598a7 Center Script Editor when jumping to bookmarks/breakpoints 2019-12-01 18:43:52 +01:00
Paulb23
362d38ea67 Update connection info on script validation rather then saved copy 2019-11-02 14:41:59 +00:00
Paulb23
2e2a049d3c Improve performance of connection info in the script editor 2019-10-27 11:07:19 +00:00
David Sichma
94fb3f666c Fixed evaluation for types 2019-10-22 09:42:46 +02:00
Alexander Holland
35452e1ab4 Update ScriptEditor and ShaderEditor Tooltip
fix #32417
2019-10-02 11:21:59 +02:00
Bojidar Marinov
db89fef8fa
Highlight singletons and class_names in GDScript
Also, implement a small QoL change for auto-typed variables.
Closes #5739
2019-09-28 13:13:18 +03:00
Paul Trojahn
ba24bc1e04 Support menu key in TextEdit and LineEdit controls
Related to #15542
2019-09-22 12:06:24 +02:00
Bhupendra Aole
1de3ec911f Default ColorPicker color mode setting
There is a new setting for Default ColorPicker color mode in Editor Settings->Interface->Inspector. Initially this setting will be RGB. Editor ColorPicker will always start with mode defined in this settiing.
Fixes #30755 and #30754
2019-08-31 00:34:33 -04:00
merumelu
e2459479de Editor: remove TOOLS_ENABLED guards
For code  inside editor/ `#ifdef TOOLS_ENABLED`
is always true so those checks are redundant.
2019-08-30 19:02:46 +02:00
Rémi Verschelde
f8574da2c2
Merge pull request #31338 from Calinou/reorganize-menus
Reorganize various menus for consistency and conciseness
2019-08-13 16:52:42 +02:00
Hugo Locurcio
9e1c23a353
Reorganize various menus for consistency and conciseness
- Clean up the recent scripts dialog to match the recent scenes dialog
- Add "..." at the end of shortcuts that cause a modal dialog to appear

This closes #31148.
2019-08-13 11:52:10 +02:00
Michael Alexsander Silva Dias
3d86ef74e7 Add "Find in Files..." to the text editor 2019-08-12 11:49:45 -03:00
Rémi Verschelde
b18747af4b
Merge pull request #31179 from KoBeWi/code_editor_magic
Add Evaluate Selection option to Script Editor
2019-08-12 11:19:26 +02:00
miwanczuk
7254284efd Adds support for undo/redo for in-editor color picker 2019-08-10 00:46:31 +02:00
Michael Alexsander Silva Dias
31584dd511 Move "Go to Function/Line" to "Go To" menu 2019-08-08 22:36:51 -03:00
iwek7
e7b07e1e58 Fixes color picker in code editor - now it only changes one color 2019-08-08 19:12:13 +02:00
Tomasz Chabora
282deb9a7a Add Evaluate Selection option to Script Editor 2019-08-08 00:28:33 +02:00
Paulb23
e51aa14208 Fix memory leaks with SyntaxHighlighters 2019-07-25 17:30:48 +01:00
Geequlim
ed7ed52151 Parse more informations for code completion 2019-07-04 14:00:14 +08:00
Michael Alexsander Silva Dias
91d357f177 Add "Go To" menu to the script editor and move the bookmark and breakpoint menus there 2019-07-01 16:00:05 -03:00
Rémi Verschelde
f5d9454a4b
Merge pull request #29071 from YeldhamDev/improve_bookmarks
Improve bookmarks
2019-07-01 16:34:17 +02:00
Rémi Verschelde
d17eac735c
Merge pull request #29815 from NilsIrl/plus_file_1
Replace ` + "/" + ` with `String::file_add()`
2019-07-01 12:06:35 +02:00
Gwyneth Lowe
7142064110 Correct typo that broke custom selected font color
Change several font_selected_color to font_color_selected; the actual name of the override
2019-06-24 04:55:29 -05:00
Dawid Wdowiak
0f14489ecb Center script line when double clicked on error in debugger 2019-06-23 15:58:07 +02:00
Nils ANDRÉ-CHANG
d2833d4f4d Replace + "/" + with String::file_add() 2019-06-23 13:33:50 +01:00
Rémi Verschelde
0ac3687d6f
Merge pull request #28766 from pgoral/editor_validation_issue
Changing method signature in other class in not recognized in working…
2019-06-17 23:13:08 +02:00
Michael Alexsander Silva Dias
28683237c5 Check for inherited methods before attempting to create one when connecting a signal 2019-06-13 15:15:17 -03:00
Rémi Verschelde
a2a5273a07
Merge pull request #29703 from YeldhamDev/method_signal_warning_base
Check base scripts for signal receiving methods before warning about them missing
2019-06-12 13:11:17 +02:00
Rémi Verschelde
a458365780
Merge pull request #29659 from YeldhamDev/script_connections_node_deleted
Fix connection info still appearing on scripts if the node source is deleted
2019-06-12 09:46:33 +02:00
Michael Alexsander Silva Dias
831dd19546 Check base scripts for signal receiving methods before warning about them missing 2019-06-11 22:11:26 -03:00
Rémi Verschelde
7842f4ca5c
Merge pull request #29262 from DarknessCatt/issue-27476
Automatically add new line to scripts
2019-06-11 15:07:09 +02:00
Michael Alexsander Silva Dias
b3010d9734 Fix connection info still appearing on scripts if the node source is deleted 2019-06-10 19:37:56 -03:00
Rémi Verschelde
b9dc2e7e4d
Merge pull request #28099 from lupoDharkael/fix-completion
Fix code completion not working with class_name
2019-06-03 14:01:07 +02:00
Matheus Lima Cunha
7fbb6d986f Automatically add new line to scripts 2019-05-29 18:13:29 -03:00
Goral
aabd9980d1 Changing method signature in other class in not recognized in working class in typed GDScript #28685 2019-05-29 22:27:16 +02:00
Rémi Verschelde
11f20c43d7
Merge pull request #28907 from dankan1890/contextual_help
ScriptEditor: Changed the shortcut for contextual help in ALT + F1
2019-05-24 19:55:42 +02:00
Michael Alexsander Silva Dias
e12b482022 Improve bookmarks 2019-05-24 13:17:09 -03:00
Rémi Verschelde
63e7d2db08
Merge pull request #28218 from KoBeWi/b00km4rk5
Add bookmarks for easier code navigation
2019-05-20 22:39:19 +02:00
Rémi Verschelde
fdea3d48b0
Merge pull request #26809 from KoBeWi/undo_set_text_like_a_boss
Allow to undo TextEdit.set_text
2019-05-20 22:00:39 +02:00
Tomasz Chabora
3bc0445e05 Allow to undo TextEdit.set_text 2019-05-16 23:05:17 +02:00
Hayden
c9b9ba26db Directories can now be dragged into the script editor 2019-05-16 10:44:05 -05:00
dankan1890
81e48e2cf3 ScriptEditor: Changed the shortcut for contextual help in ALT + F1, to resolve the conflict with the help menu opening shortcut. 2019-05-15 14:27:24 +02:00
Tomasz Chabora
0bfcf8bc2f Add bookmarks for easier code navigation 2019-05-05 18:57:53 +02:00
Rémi Verschelde
23147ae2c3
Merge pull request #28101 from MunWolf/debugger_cursor
Added a marker in text_edit that tells which row is executing.
2019-04-29 18:38:38 +02:00
Michael Alexsander Silva Dias
4bca3236d1 Make small changes to the new connection info on script feature 2019-04-24 03:13:25 -03:00
Rikhardur Bjarni Einarsson
9bfa63496a Added a marker in text_edit that tells which row is executing. 2019-04-23 21:51:01 +01:00
Rémi Verschelde
22457b907e
Merge pull request #28234 from Paulb23/connection_info_on_script
Display connection information in the script editor
2019-04-22 11:52:13 +02:00
Rémi Verschelde
71bbe6eb01
Merge pull request #27979 from Paulb23/remember_script_state
Restore script editor state between sessions
2019-04-21 13:01:43 +02:00
Paulb23
a6562cd004 Display connection information in the script editor 2019-04-20 13:13:54 +01:00
lupoDharkael
2ad302cec4 Don't allow class_name in built-in scripts 2019-04-17 17:06:21 +02:00
lupoDharkael
145a45fd3f Fix code completion not working with class_name 2019-04-16 22:27:13 +02:00
lupoDharkael
f137166251 Validate scripts when they are loaded in the text editor 2019-04-16 02:14:58 +02:00
Paulb23
6ea253aa77 Restore script editor state between sessions 2019-04-13 13:07:12 +01:00
Rémi Verschelde
07b76c0376
Merge pull request #27170 from timoschwarzer/allow-whitespaces-in-warning-ignore-comments
Allow whitespaces in warning-ignore comments
2019-04-10 18:16:10 +02:00
Rémi Verschelde
fc370b3feb Fix -Wimplicit-fallthrough warnings from GCC 8
Adds `FALLTHROUGH` macro to specify when a fallthrough is intentional.
Can be replaced by `[[fallthrough]]` if/when we switch to C++17.

The warning is now enabled by default for GCC on `extra` warnings level
(part of GCC's `-Wextra`). It's not enabled in Clang's `-Wextra` yet,
but we could enable it manually once we switch to C++11. There's no
equivalent feature in MSVC for now.

Fixes #26135.
2019-04-05 15:14:53 +02:00
Timo Schwarzer
7a0dfc04aa
Allow whitespaces in warning-ignore comments 2019-03-17 18:42:59 +01:00
Rémi Verschelde
e5a310cd38
Merge pull request #25782 from hsandt/feature/fix-toggle-comment-indent
Feature/fix toggle comment indent
2019-03-16 11:17:47 -07:00
Pedro Ciambra
e8fe174616 Implement source lookup for class_name defined classes
Previous to this, classes defined with class_name had no
behavior when ctrl-clicked in the editor.

Fixes #26882
2019-03-11 12:52:17 -03:00
allkhor
0137ec3468 Hide the warnings panel when no warnings presents. 2019-02-13 17:01:21 +06:00
hsandt
5165a90ef6 [Script Editor] Refactored ScriptTextEditor::_edit_option by extracting EDIT_TOGGLE_COMMENT case
CodeEditor::toggle_inline_comment is now used by both ScriptTextEditor and ShaderEditor
2019-02-04 20:21:08 +01:00
Gilles Roudière
5f981d7fef Displays errors and warnings in a better way in the script editor 2019-02-01 17:20:59 +01:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Chaosus
260b5818f1 Change LinkLabel back to Label in error status bar 2018-12-21 11:39:54 +03:00
Rémi Verschelde
2f31d31c23
Revert "Use more subtle indentation guides in the script editor" 2018-12-13 19:57:34 +01:00
Mariano Suligoy
1884952ae3 Fix "index -1 out of range" error spam when the Editor is using translations. Fixes #24277 2018-12-11 08:26:36 -03:00
Rémi Verschelde
bf59b73250
Merge pull request #20609 from YeldhamDev/menu_hover_explicit
Make opening menus with the same parent on mouse focus explicit
2018-12-09 23:15:33 +01:00
Rémi Verschelde
3a312dbd32
Merge pull request #20725 from Calinou/textedit-subtle-indent-guides
Use more subtle indentation guides in the script editor
2018-12-09 23:10:32 +01:00
Rémi Verschelde
da31d63f76
Merge pull request #23680 from YeldhamDev/unified_help_search_revived
Unified Class and Reference Search 2: Resurrection
2018-11-22 16:16:52 +01:00
Chaosus
1129d83272 Allows user to click on error line to jump into error. 2018-11-22 11:55:36 +03:00
Ray Koopa
fddffa9eb8 Unify editor class and reference search
Co-authored-by: Michael Alexsander Silva Dias <michaelalexsander@protonmail.com>
2018-11-20 20:52:27 -02:00
Michael Alexsander Silva Dias
da7d3c5a58 Make opening menus with the same parent on mouse focus explicit 2018-11-20 20:37:45 -02:00
Paulb23
6c54cb8bff Fix clone line undo history and extra new line, issue 21811 2018-11-04 18:33:16 +00:00
Michael Alexsander Silva Dias
f3835282c4 Small capitalization fixes across the editor 2018-10-26 16:11:36 -03:00
Rémi Verschelde
3f23b2ecf4
Merge pull request #23017 from Calinou/increase-source-font-line-spacing
Increase the source font's line spacing
2018-10-25 17:31:24 +02:00
Hugo Locurcio
976b3e3284
Increase the source font's line spacing
This also increases line spacing in license texts in the editor's
About dialog.
2018-10-14 21:39:49 +02:00
Unknown
c3d40e42ce Improve toggle comment function in script editor. 2018-10-09 19:39:45 +02:00
Hugo Locurcio
9c1d4f9da2
Use more subtle indentation guides in the script editor 2018-10-03 00:00:25 +02:00
Rémi Verschelde
c026e3957a Fix warnings on virtual methods [-Woverloaded-virtual] [-Wdelete-non-virtual-dtor]
Fixes the following Clang 7 warnings:
```
editor/editor_help.h:123:7: warning: 'EditorHelpIndex::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/editor_help.h:95:7: warning: 'EditorHelpSearch::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/editor_help.h:96:7: warning: 'EditorHelpSearch::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/plugins/curve_editor_plugin.h:141:15: warning: 'CurvePreviewGenerator::generate' hides overloaded virtual function [-Woverloaded-virtual]
editor/plugins/script_editor_plugin.h:70:7: warning: 'ScriptEditorQuickOpen::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/quick_open.h:69:7: warning: 'EditorQuickOpen::popup' hides overloaded virtual function [-Woverloaded-virtual]
main/tests/test_io.cpp:53:15: warning: 'TestIO::TestMainLoop::input_event' hides overloaded virtual function [-Woverloaded-virtual]
servers/audio/effects/audio_effect_record.h:69:15: warning: 'AudioEffectRecordInstance::process_silence' hides overloaded virtual function [-Woverloaded-virtual]

core/os/memory.h:119:2: warning: destructor called on non-final 'ContextGL_X11' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'EditorScriptCodeCompletionCache' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'Engine' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'PhysicalBone::JointData' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'VisualServerScene' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'VisualServerViewport' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
```
2018-10-02 13:40:17 +02:00
Rémi Verschelde
cda5b0bfe1 Fix warnings about unused variables [-Wunused-variable]
Fixes the following GCC 5 warnings:
```
drivers/gles2/rasterizer_scene_gles2.cpp:1139:15: warning: unused variable 'offset' [-Wunused-variable]
drivers/gles2/rasterizer_scene_gles2.cpp:1205:39: warning: unused variable 'multi_mesh' [-Wunused-variable]
drivers/gles2/rasterizer_storage_gles2.cpp:359:7: warning: unused variable 'srgb' [-Wunused-variable]
drivers/gles2/shader_gles2.cpp:1016:45: warning: unused variable 'texture_hints' [-Wunused-variable]
editor/animation_track_editor.cpp:776:9: warning: unused variable 'keys_to' [-Wunused-variable]
editor/editor_inspector.cpp:273:7: warning: unused variable 'vs_height' [-Wunused-variable]
editor/editor_themes.cpp:202:10: warning: unused variable 'begin_time' [-Wunused-variable]
editor/editor_themes.cpp:239:10: warning: unused variable 'end_time' [-Wunused-variable]
editor/plugins/animation_blend_tree_editor_plugin.cpp:726:17: warning: unused variable 'an' [-Wunused-variable]
editor/plugins/script_text_editor.cpp:1278:8: warning: unused variable 'fold_state' [-Wunused-variable]
main/main.cpp:132:13: warning: 'use_vsync' defined but not used [-Wunused-variable]
modules/cvtt/image_compress_cvtt.cpp:231:8: warning: unused variable 'y_end' [-Wunused-variable]
modules/cvtt/image_compress_cvtt.cpp:311:6: warning: unused variable 'shift' [-Wunused-variable]
modules/gdscript/gdscript_editor.cpp:58:7: warning: unused variable 'th' [-Wunused-variable]
modules/gridmap/grid_map.cpp:1084:6: warning: unused variable 'ofs' [-Wunused-variable]
modules/theora/video_stream_theora.cpp:442:9: warning: unused variable 'tr' [-Wunused-variable]
modules/visual_script/visual_script_editor.cpp:2606:6: warning: unused variable 'count' [-Wunused-variable]
modules/visual_script/visual_script_editor.cpp:2829:6: warning: unused variable 'seq_count' [-Wunused-variable]
modules/visual_script/visual_script_editor.cpp:2844:24: warning: unused variable 'vnode_function' [-Wunused-variable]
modules/websocket/lws_peer.cpp:122:12: warning: unused variable 'peer_data' [-Wunused-variable]
modules/websocket/lws_peer.cpp:135:12: warning: unused variable 'peer_data' [-Wunused-variable]
modules/websocket/lws_peer.cpp:63:12: warning: unused variable 'peer_data' [-Wunused-variable]
modules/websocket/lws_peer.cpp:91:12: warning: unused variable 'peer_data' [-Wunused-variable]
platform/android/export/export.cpp:763:16: warning: unused variable 'node_size' [-Wunused-variable]
scene/gui/rich_text_label.cpp:850:10: warning: unused variable 'x_ofs' [-Wunused-variable]
scene/gui/text_edit.cpp:653:8: warning: unused variable 'tab_w' [-Wunused-variable]
scene/resources/bit_mask.cpp:186:6: warning: unused variable 'i' [-Wunused-variable]
scene/resources/mesh.cpp:549:20: warning: '_array_name' defined but not used [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:107:10: warning: unused variable 'v2' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:108:10: warning: unused variable 'v3' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:109:10: warning: unused variable 'v4' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:110:10: warning: unused variable 'v5' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:111:10: warning: unused variable 'v0n' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:112:10: warning: unused variable 'v1n' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:113:10: warning: unused variable 'v2n' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:114:10: warning: unused variable 'v3n' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:115:10: warning: unused variable 'v4n' [-Wunused-variable]
servers/audio/audio_rb_resampler.cpp:116:10: warning: unused variable 'v5n' [-Wunused-variable]
servers/visual/default_mouse_cursor.xpm:2:21: warning: 'default_mouse_cursor_xpm' defined but not used [-Wunused-variable]
```
2018-09-27 16:25:24 +02:00
Hugo Locurcio
c4770a5b5d
Tweak some editor texts' capitalization, use "Go to" instead of "Goto"
This also fixes a typo in the `debugger/debug_with_external_editor`
shortcut.
2018-09-25 22:51:13 +02:00
DualMatrix
4efcf9c943 Fixed syntax highlighting setting not being saved
Fixed syntax highlighting setting not being saved
2018-09-20 11:31:53 +02:00
Rémi Verschelde
ae8f984cf3
Merge pull request #21730 from reisraff/fixing_key_shortcut
#21500 Fixing key shortcut
2018-09-13 12:09:17 +02:00
Rémi Verschelde
1a16dabfb5
Merge pull request #21982 from luzpaz/misc-typos
Misc. typos
2018-09-13 10:59:00 +02:00
luz.paz
08bde5b2de Misc. typos
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12 21:39:17 -04:00
Rémi Verschelde
277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Rafael Reis
d1d1f4a776 #21500 Fixing key shortcut 2018-09-03 11:39:07 -03:00
Hugo Locurcio
af139af69e
Fix some editor shortcuts' default values not being set properly
This also changes the uppercase/lowercase/capitalize shortcuts
to Shift+F4, Shift+F5 and Shift+F6 respectively to avoid conflicts
with the new Find Next shortcut.

This closes #21612.
2018-09-01 16:20:47 +02:00
Rémi Verschelde
ac38b7e97b
Merge pull request #21496 from tko/macos-complete
[macOS] change "Complete Symbol" shortcut to not conflict with Spotlight
2018-08-28 07:40:55 +02:00
Tommi Komulainen
c2f0b4c9c6 [macOS] change "Complete Symbol" shortcut to not conflict with Spotlight
The default shortcut for Spotlight search is Command+Space so try not to
use it. Instead use Ctrl+Space similar to Xcode.
2018-08-27 20:39:43 +02:00
Tommi Komulainen
464756ec0f [macOS] fix conflicting keybindings for (Find and) Replace...
```
Play Scene        Command+R           (no change)
Replace...        Command+R        => Option+Command+F
Find Function...  Option+Command+F =>   Ctrl+Command+J
```

On macOS Option+Command+F is commonly used for Find and Replace so use
it instead to avoid conflicting with "Play Scene"

And as Option+Command+F is currently used by "Find Function..." rebind
the latter to Control+Command+J which is the Xcode shortcut for
"Jump to Definition"

Fixes #19817
2018-08-27 20:28:24 +02:00
Rémi Verschelde
52466d57e9 Make some debug prints verbose-only, remove others 2018-08-24 14:59:01 +02:00
George Marques
eb48119821
Added system for GDScript warnings
- Count and panel per script.
- Ability to disable warnings per script using special comments.
- Ability to disable warnings globally using Project Settings.
- Option to treat enabled warnings as errors.
2018-08-10 16:00:47 -03:00
Ian
1bb13e95a8 context menu improvements 2018-07-26 08:58:35 -04:00
Paulb23
8ff747171f Allow opening and editing of any utf_8 file in script editor 2018-07-22 11:55:56 +01:00
Paulb23
765d6752bb Refactored text manipulation into CodeTexteditor 2018-07-22 11:48:59 +01:00
George Marques
03746da73f
Add editor highlight for type-safe lines
The line number is hightlighted to indicate that the line contains only
type-safe code.
2018-07-20 21:55:18 -03:00
Max Hilbrunner
c488a74e0c
Merge pull request #19498 from guilhermefelipecgs/fix_regression
Fix "find and replace" initializing with wrong size
2018-07-05 04:23:18 +02:00
Max Hilbrunner
165f3c31a5
Merge pull request #19166 from Grula/issue-18779
Changed "Syntax Menu" into radio Menu
2018-07-03 17:39:17 +02:00
Guilherme Felipe
5bae3693bf Fix "find and replace" initializing with wrong size
Fix the code editor outside the allowed limits.
2018-06-13 14:08:04 -03:00
Rémi Verschelde
3f09cac267 Fix shortcuts using KEY_MASK_CTRL instead of KEY_MASK_CMD
KEY_MASK_CMD is automatically replaced by KEY_MASK_CTRL on non-OSX
and KEY_MASK_META (Command key) on OSX, so it should be used for all
Ctrl/Cmd + key shortcuts.

Also de-hacked the macOS shortcut replacements with proper conditional
definition. Not tested on macOS, cannot judge if they are good shortcuts.

Fixes #10761.
2018-06-11 07:53:28 +02:00
NIkola Grulovic
bc666c42ff Syntax Menu as sub-menu of Edit
Moved syntax menu to be sub-menu of edit, as-well made choices radio buttons
2018-06-01 21:32:19 +02:00
Juan Linietsky
6e9517ca83
Merge pull request #18642 from flashyincceo/engine-click
Fix script editor CTRL+CLICK on singleton functions
2018-05-07 11:49:34 -03:00
Max Hilbrunner
c587cac304
Merge pull request #18308 from ericmccarthy7/develop
Fix clone down newline bug
2018-05-07 14:49:23 +02:00
Peter Folkins
0c1a71b047 Fix script editor CTRL+CLICK on singleton functions 2018-05-05 13:23:47 -05:00
Hugo Locurcio
1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
Eric McCarthy
02b7b916b7 Fix clone down newline bug
Previously cloning down at the end of a script was broken if there was
not an additional empty line.

This fix ensures there is an empty line before attempting to clone
downwards.

Fixes #18206, cheers!
2018-04-19 20:35:42 -04:00
Juan Linietsky
3a08f1748b
Merge pull request #16571 from Zylann/find_in_files
Added find & replace in files
2018-04-08 17:24:26 -03:00
Rémi Verschelde
5ede505f14
Merge pull request #17923 from Paulb23/add_abstract_syntax_highlighter
Abstracted the syntax highlighter from text edit.
2018-04-04 09:50:51 +02:00
Felix Yang
7d5a40c3e6 Ctrl+Clicking a enum now scrolls down to it in the docs. 2018-04-03 21:56:54 +02:00
Paulb23
f7c727e6c3 Abstracted the syntax highlighter from text edit 2018-04-02 12:41:44 +01:00
Poommetee Ketson
caa0d513ab ScriptTextEditor: fix capitalize offset 2018-03-12 01:37:41 +07:00
Marc Gilleron
f637ad84e3 Added find & replace in files 2018-02-19 22:38:58 +01:00
Yan Pas
7368978a48 Delete all selected lines using the delete line shortcut in script editor 2018-02-17 17:56:13 +03:00
Rémi Verschelde
dff0c41fe8
Merge pull request #16374 from ianb96/drop_at_mouse
Drop path text at mouse pos
2018-02-13 11:25:55 +01:00
Artem Varaksa
3094e89782 Fix #16479 (deselect text when jumping to function) 2018-02-08 21:12:08 +03:00
ianb96
06965f2770 drop path text at mouse pos 2018-02-03 22:35:44 -05:00
Razah
72901936cc Fix shortcut conflict
fix https://github.com/godotengine/godot/issues/16054
The clone_down shortcut that conflicts with the "editor / play" shortcut has been replaced by "SHIFT + COMMAND + C" instead of "COMMAND + B" on macOS
2018-01-25 19:24:51 +03:00
Paulb23
896a0c5ef5 Fixed member keywords colour not updating on settings change 2018-01-14 16:31:46 +00:00
Juan Linietsky
419705db6e Add special coloring to members, to make shadowing more obvious. 2018-01-12 11:01:09 -03:00
Rémi Verschelde
e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
volzhs
4b0f075e95 Respect text editor highlighting color changes
Fix #14838
2017-12-28 23:49:15 +09:00
MattUV
a55870cd81 Adds an option to move cursor with right click in TextEdit
Fixes #14832
- Added an option in the editor settings/cursor to make the cursor move with right click.
- If the option is activated (true by default), a right click will move the cursor before displaying context menu.
 - If there is a selection, a right click on it will keep it selected, a right click outside it will unselect it.
 - The option is available in textEdit via an inspector property (or via GDScript): caret_moving_by_right_click
 - The option is available in the script editor and the shader editor via the editor settings
 - The documentation has been updated with the new property, and a few other entries in TextEdit.xml.
2017-12-20 09:01:09 +01:00
Rémi Verschelde
03fb1fd7fa
Merge pull request #14613 from voithos/fold-jump-bugfix
Account for folded code blocks when navigating via members list
2017-12-16 01:16:25 +01:00
MattUV
db020f3cea Modifies indentation behaviours
Partially fixes #14559 (see the issue for details);
Removes some code redondancy ;
Adds the possibility to indent left and right without selecting text ;
Adds the entries to the context menu when text is not selected ;
Renames indent_selection_left() and indent_selection_right() to indent_left() and indent_right() ;
Unifies context menus of shader text editor and script text editor.
2017-12-15 10:04:56 +01:00
Zaven Muradyan
f139d0e4e6 Account for folded code blocks when navigating via members list
Previously, the editor would attempt to set the scroll position to the
function's line number, but this would result in an invalid scroll
whenever functions above the target were folded.

This changes callback to use a combination of `goto_line` and
`set_edit_state` to navigate to the target line and reset the cursor to
column 0.

Using `goto_line` also has the side effect of automatically unfolding
the target function, which seems like useful behavior.

Fixes #14572.
2017-12-12 21:40:12 -08:00
MattUV
e669ca2576 Modify shortcuts and menus to fold/unfold code
Fix #13180
As the same shortcut cannot be assigned to two actions, I removed the ability to fold (fold_line()) or unfold (unfold_line()) via menu (still possible by code), and there is a single fold/unfold action (toggle_fold_line()).

The new default shortcut is now Alt+F
2017-12-08 19:21:48 +01:00
Paulb23
48ad133cf9 Changed current line draw order and added code folding color 2017-12-07 19:17:43 +00:00
sersoong
94adf24798 Add uppercase and lowercase to rightclickmenu in scripteditor 2017-12-07 16:09:02 +08:00
Andreas Haas
faaa012b84
Script Editor: Use first non-whitespace comment delimiter.
As suggested by @neikeq in https://github.com/godotengine/godot/pull/13489#issuecomment-348690816
2017-12-04 18:33:43 +01:00
Andreas Haas
07aa9d0506
Script Editor: Make comment delimiter language dependent. 2017-12-01 20:54:36 +01:00
Ian
1e59169d2d scrolling fixes 2017-11-18 20:07:53 -05:00