Commit Graph

204 Commits

Author SHA1 Message Date
Paulb23 0cea72273f Add minimap to text_edit 2019-08-21 23:48:46 +01:00
Paulb23 895a15b321 Add syntax highlighting cache 2019-08-21 23:36:49 +01:00
Rémi Verschelde 2633efd55b
Merge pull request #28190 from griant/test
fix improper uncommenting behavior in TextEditor
2019-07-09 08:56:27 +02:00
Geequlim 10cfd87414 Show icons for code completion options 2019-07-05 09:25:50 +08:00
Gwyneth Lowe 45f78d786a Give TextEdit a custom color for font when read only is set
Previously there was some transparency hard coded into TextEdit when in read only mode.
This change adds a custom color for adjusting the font in read only mode.
It also applies when syntax highlighting is on.
2019-06-24 20:00:05 -05: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
JohnJLight 38d3bfe971 Made use of semicolons more consitent, fixed formatting 2019-06-19 15:24:31 +02:00
Nils ANDRÉ-CHANG e4f90337f2 Treat hiding_enabled as bool throughout 2019-06-08 12:37:57 +01:00
Rémi Verschelde f173d242a2
Merge pull request #28811 from iwek7/editor_remove_spaces_to_closes_indention
Change rules of indenting for spaces
2019-05-24 16:21:04 +02:00
Rémi Verschelde 26e0cc7aa3
Merge pull request #29041 from hbina/add_const
add const to methods that return literals
2019-05-21 15:16:41 +02:00
hbina085 f78baa5f93 added a const keyword for a methods that return constant literal... 2019-05-21 02:16:30 -04: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
miwanczuk cbc68a3e04 Change rules of indenting for spaces
Now indentations and deindentations of spaces attemt to align text to
closest full indent level. It works with tab/tab+shift (both with
selection and no selection) as well as backspace. Also fixes bug where
selection and cursor position were mispaced after (un)indenting selected
text.
2019-05-11 10:30:40 +02:00
Tomasz Chabora 0bfcf8bc2f Add bookmarks for easier code navigation 2019-05-05 18:57:53 +02:00
miwanczuk fda3a568ef Issue-28355 - show spaces in editor 2019-04-30 14:57:48 +02: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
Paulb23 a6562cd004 Display connection information in the script editor 2019-04-20 13:13:54 +01:00
griant eb5807984c fix improper uncommenting behavior in TextEditor 2019-04-19 15:39:57 +08:00
Paulb23 6ea253aa77 Restore script editor state between sessions 2019-04-13 13:07:12 +01:00
Juan Linietsky 9f4b5a91c0 Reorganized connection dialog for much improved ease of use.
-Removed dest path field
-Added a "Source" signal
-Added an "Advanced" button to hide complexity
-Fix bug on Tree to make sure "ensure visible" works on hidden trees
-Fix bug on TextEdit to ensure signals created with script not open sill focus the right line
2019-04-11 23:23:24 -03:00
marxin f9f2413e69 Fix -Wnon-virtual-dtor warnings.
Example of the warning:
./core/script_language.h:198:7: warning: 'class ScriptCodeCompletionCache' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]
2019-04-02 14:07:29 +02:00
Paulb23 411df08711 Fix text edit wrapping beyond control size, issue 23896 2019-01-05 16:58:54 +00: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
Rémi Verschelde 2f31d31c23
Revert "Use more subtle indentation guides in the script editor" 2018-12-13 19:57:34 +01:00
Rémi Verschelde 4c41e29c8e
Merge pull request #23923 from bruvzg/ime_gdscript
Changes IME to make it possible to use it from gdscript/gdnative
2018-12-11 18:00:48 +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
allkhor 7831cd76ab TextEdit: added redo option to the context menu 2018-11-29 23:21:43 +06:00
bruvzg 4554c682e6
Changes IME input to use notification instead of callback, exposes IME methods to gdscript/gdnative. 2018-11-23 14:07:48 +02:00
zhagsenkk 67ba4dc8cd Remove no longer necessary "raise_from_completion" in TextEdit
This is no longer needed to fix #1257 because the code-autocomplete hint stops
at the script editor’s edge now.
And #6690 will not arise because it is just caused by "raise_from_completion".

Fixes #22504 and fixes #16064.
2018-10-26 19:29:51 +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 06667b2fcf
Merge pull request #21219 from AlexHolly/fix-textedit-shows-nothing
TextEdit update cache.size on ENTER_TREE
2018-09-12 17:41:12 +02:00
Alexander Holland 5cb66b2776 Uncommenting a selection was not updating the selection.
Also adds uncomment lines(ctrl+u) where # is not in first place
2018-09-08 14:21:15 +02:00
Alexander Holland f2da51620d TextEdit replaced cache.size with get_size() 2018-08-25 16:21:47 +02:00
Hein-Pieter van Braam 0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02: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
Gabriel Gavilan b7b63fe034 Improve breakpoints and breakpoint gutter API in TextEdit
Added breakpoint_gutter, is_breakpoint_gutter_enabled, set_breakpoint_gutter_enabled, get_breakpoints, remove_breakpoints.
Fixed breakpoint_toggled signal not fierd when text is edited.
Fixes #18026.
2018-05-30 14:39:44 +02:00
ianb96 ce434bca82 fix get_char_width for non-latin characters 2018-05-15 15:32:09 -04:00
Ian e1fff4bc09 TextEdit word wrap 2018-05-14 16:17:48 -04:00
Unknown 4e26e5e268 Script Editor now displays positional column
This solves #17931 and makes the script editor consistent with other text editors(Sublime, Gedit, Vim) in displaying the position rather than the raw number of characters.
2018-05-03 18:03:20 +01:00
Paulb23 b571a29df5 Fixed color regions and added local color region cache 2018-04-07 14:14:19 +01:00
Paulb23 f7c727e6c3 Abstracted the syntax highlighter from text edit 2018-04-02 12:41:44 +01:00
Rémi Verschelde 2551db44e1
Merge pull request #15618 from ianb96/fold_comment
TextEdit folding over unindented comments
2018-02-14 16:36:42 +01:00
Juan Linietsky 419705db6e Add special coloring to members, to make shadowing more obvious. 2018-01-12 11:01:09 -03:00
Ian d327f75392 TextEdit folding over unindented comments 2018-01-12 00:25:04 -05:00
Bojidar Marinov 9b8e8b2220
Bind many more properties to scripts
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
2018-01-12 00:58:14 +02: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 592b0fc068
Merge pull request #15063 from poke1024/textedit-select-last-line
Fix key down on last line in TextEdit
2018-01-03 10:30:51 +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
Bernhard Liebl 076a5f35fc Fix shift-key down on last line in TextEdit 2017-12-26 08:32:30 +01: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
Bernhard Liebl abfcce0067 Fix cut-copy-line breaking paste (issue 14539) 2017-12-17 16:24:23 +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
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
Rémi Verschelde 8a07cb0b69
Merge pull request #14352 from ianb96/get_hidden_width
Fixes horizontal scrolling over hidden lines
2017-12-07 07:52:01 +01:00
Rémi Verschelde 46ac939a74
Merge pull request #13362 from groud/fix_folding
Fixes folding of blank lines
2017-12-07 07:20:41 +01:00
Ian 1c1a6723d0 fixes horizontal scrolling over hidden lines 2017-12-06 19:04:47 -05:00
Michael Alexsander Silva Dias 2773c12156 Add disabled theme to TextEdit. 2017-12-01 01:32:26 -02:00
Gilles Roudiere e13ff74c09 Fixes folding of blank lines 2017-11-28 20:03:46 +09:00
Bernhard Liebl 80ad8afc85 Native pan and zoom for macOS 2017-11-21 09:11:39 +01:00
Ian 1e59169d2d scrolling fixes 2017-11-18 20:07:53 -05:00
Ian d350f506a0 TextEdit code folding 2017-11-17 21:49:43 -05:00
Rémi Verschelde 4685674389
Merge pull request #12842 from ianb96/shader_editor_fix
Shader Editor context menu and line operations and style fix
2017-11-14 07:33:04 +01:00
Michael Alexsander Silva Dias 920f3f6546 Added "is_readonly()" to TextEdit and made it a property. 2017-11-11 22:14:14 -02:00
Ian 94b3e786cd shader editor context menu and line operations and style fix 2017-11-11 14:46:59 -05:00
Ian fc299b4f37 add context menu enable getters, setters, and properties in LineEdit and TextEdit 2017-11-11 03:30:59 -05:00
Paulb23 6f6afde0c5 Changed line and word mouse selection 2017-11-05 15:54:00 +00:00
Paulb23 45670df354 Added setting to toggle current line highlighting 2017-10-22 13:42:08 +01:00
toger5 d58a159e38 keep font color on selection as default 2017-09-28 14:17:14 +02:00
Paulo Gomes 9b72f08042 second take at autocomplete logic, using a TextOperation check. 2017-09-06 19:23:09 +01:00
Rémi Verschelde bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Juan Linietsky 36e0a72c77 -Code completion for enumerations
-Disabled GDNative and GDNativeScript so build compiles again
2017-08-24 00:06:56 -03:00
Paulb23 24c6c097f3 Stops scrolling when the user issues another command 2017-08-22 20:04:19 +01:00
Juan Linietsky 2cc8309249 Merge pull request #10351 from neikeq/enums-are-for-the-weak
ClassDB: Provide the enum name of integer constants
2017-08-21 19:56:08 -03:00
Paulb23 d6599fde0a Increased smooth scroll speed and added user setting 2017-08-21 19:20:11 +01:00
Ignacio Etcheverry 32dd9a9f66 ClassDB: Provide the enum name of integer constants 2017-08-20 22:07:43 +02:00
Paulb23 a142c9a2f0 Added smooth scrolling to TextEdit 2017-08-19 15:23:45 +01:00
TwistedTwigleg 00f6c85928 Synchronize parameter names in definition and declaration
Fixes #10244.
2017-08-16 17:22:23 +02:00
bruvzg 8aa86cb9bc Implement NSTextInputClient protocol for IME 2017-08-09 19:09:33 +03:00
Juan Linietsky 5b3709d309 Removal of InputEvent as built-in Variant type..
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
Paulb23 84bca4e72f Added support for space indentation 2017-04-18 12:30:46 +01:00
Rémi Verschelde df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
supaiku d51fe99a8b Fix highlight typo 2017-04-06 17:35:08 +02:00
Rémi Verschelde 5dbf1809c6 A Whole New World (clang-format edition)
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?

I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon

A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format

A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Paulb23 6b42cd5fe6 Fixed line lenght guideline drawing with color option 2017-01-28 14:36:57 +00:00
Rémi Verschelde 93ab45b6b5 Style: Fix whole-line commented code
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky 920947f297 renamed _input_event for GUI events to _gui_input, so it's more differentiated than generalized _input 2017-01-08 16:28:12 -03:00
Juan Linietsky 2ab83e1abb Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector 2017-01-07 18:26:38 -03:00
Juan Linietsky 118eed485e ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant.
All usages of "type" to refer to classes were renamed to "class"
ClassDB has been exposed to GDScript.
OBJ_TYPE() macro is now GDCLASS()
2017-01-02 23:03:46 -03:00
Rémi Verschelde c7bc44d5ad Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
Paulb23 0e2c15e91a Made background and symbol color follow the color API 2016-11-06 13:50:23 +00:00
Pedro J. Estébanez 00b3af246b Allow turing off zero-padding for line numbers 2016-10-13 11:43:42 +02:00
Rémi Verschelde 0f587c460e Merge pull request #6778 from Hinsbart/completion_z
Fix Script Editor drawing over Dialogs.
2016-10-11 09:10:39 +02:00
Andreas Haas f73b501d6f
Fix Script Editor drawing over Dialogs.
Resets the z-index when focus is lost and the completion is shown.

Fixes #6769
2016-10-10 13:24:46 +02:00
Pedro J. Estébanez d9c1729a8f Add line length guideline to code editors 2016-10-10 10:39:58 +02:00
Andreas Haas f81d009525
Add inline ColorPicker to Script text editor.
Adds an option to the script editor context menu that lets you open
a ColorPicker in order to easily edit `Color()` constructors.
To do this, right click on the word `Color` and select `Pick Color`.

A side effect of this change is that the script editor now has its own
context menu instead of re-using the one from TextEdit.
It's now possible to indent left/right and to toggle comments via this menu.
I also felt free to make it more context-sensitive than before:
Now "Cut" and "Copy" will only be shown if text has actually been selected.

I also added default shortcuts for indent left/right. (alt + left/right)

Closes #6232
2016-09-29 09:12:45 +02:00
Juan Linietsky 37f1e86108 Do ctrl-click on any code identifier to go to definiton or help page. 2016-09-12 10:53:31 -03:00
Juan Linietsky 9890c1d2ca Likely with bugs and with some features are missing, as well as profiler support, but VisualScript should be more or less done! 2016-08-06 19:00:54 -03:00
Rémi Verschelde ebefdaa598 Merge pull request #5737 from neikeq/pr-issue-5269
TextEdit: Scroll search results to the center
2016-07-23 22:54:32 +02:00