Commit graph

354 commits

Author SHA1 Message Date
kit ef3cf7dc0f Select next text to replace 2024-05-09 18:00:09 -04:00
kit 773a473807 Overhaul multiple caret editing in TextEdit.
Use a multicaret edit to delay merging overlapping carets until the end.
2024-04-26 14:26:10 -04:00
kit 154f727c7a Overhaul TextEdit selection.
The caret is now a part of the selection.
2024-04-26 14:24:10 -04:00
kobewi 3a1246c198 Store line change in script navigation history 2024-04-25 23:22:47 +02:00
Haoyu Qiu bafbdc6cb2 Improve search/replace bar behavior
- When multiple lines are selected:
  - Find: Keep previous search instead of putting those lines in the
    find input.
  - Replace: Focus find input instead of replace input.
- Add placeholder and tooltip for LineEdits and icon buttons.
- Disable related buttons when the operation makes no sense.
2024-04-10 10:10:17 +08:00
Rémi Verschelde 77cc2501e1
Merge pull request #89690 from Calinou/editor-improve-native-shader-inspector
Improve the editor native shader source visualizer
2024-03-24 01:21:42 +01:00
Hugo Locurcio 44de95e18f Improve the editor native shader source visualizer
- Use CodeEdit to enable features such as line numbers and minimap.
- Enable syntax highlighting.
- Use a fixed-width font.
- Use the script editor settings.
2024-03-22 00:17:32 +01:00
VolTer de8b6f7a3c Add editor settings for autocompletion with NodePath and StringName 2024-03-19 17:23:54 +02:00
Rémi Verschelde 2d408f48e7
Merge pull request #88546 from bruvzg/indent_wrap
[TextEdit] Add support for optional wrapped line indentation.
2024-03-05 09:55:51 +01:00
Rémi Verschelde 314efe9bec
Merge pull request #79387 from HolonProduction/completion-update-keep-open
Update completion menu even if no options exist
2024-03-04 13:32:25 +01:00
bruvzg dad4aae386
[TextEdit] Add support for optional wrapped line indentation. 2024-02-26 08:20:14 +02:00
Zi Ye ea401f9853 Fixed the text editor theme not being applied on editor start. 2024-02-25 14:42:48 -06:00
Zi Ye 9281c441f6 Improved text editor status bar and zooming UX. 2024-02-21 17:33:16 -06:00
kobewi a031911c82 Use check_changed_settings_in_group() everywhere 2024-02-19 21:34:45 +01:00
HolonProduction 46197cec74 Update completion menu even if no options exist 2024-02-05 20:22:04 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Brian MacIntosh 0d7db935aa Search terms are now highlighted when the bar opens with a selection.
This is achieved by triggering a search when the bar opens. This is slightly inefficient but cleanly updates everything that's dependent on the search and reduces code duplication.
2023-10-30 10:21:25 -07:00
jsjtxietian 961381cad5 Fix unable to uncomment code in text shader editor 2023-10-24 11:23:59 +08:00
Yuri Sizov 215e036600 Add bulk change guards to successive theme overrides in Editor and GUI 2023-10-19 18:14:14 +02:00
kobewi d9afa1dd58 Fix close button in FindReplaceBar 2023-10-16 21:51:37 +02:00
Rémi Verschelde a60fc7f7c8
Merge pull request #83382 from Lunarisnia/fix/diff-comment-delimiter
Fix multiple comment delimiter break toggle comment shortcut
2023-10-16 14:43:10 +02:00
Lunarisnia 85d592dbf0 Fix multiple comment delimiter break toggle comment shortcut 2023-10-16 16:43:49 +07:00
kobewi c09a43abd7 Fix FindReplaceBar focus problems 2023-10-16 11:12:49 +02:00
Danil Alexeev de7cbe8789
Highlight doc comments in a different color 2023-10-08 19:26:10 +03:00
Brian MacIntosh 676627e1d1 "Whole Words" search can detect word boundaries inside the search term.
For example, searching for ".func" will now match in "a.func" even with Whole Words enabled.
2023-10-02 13:47:59 -07:00
Rémi Verschelde 3c63b09a70
Merge pull request #81486 from jsjtxietian/Ignoring-empty-lines--when-uncommenting
Ignore empty lines when uncommenting code
2023-09-26 08:20:05 +02:00
PucklaMotzer09 d2e651f403 Add Duplicate Lines shortcut to CodeTextEditor
This keyboard shortcut has been made with inspiration from the VS Code keyboard shortcut editor.action.copyLinesDownAction. It duplicates all selected lines and inserts them below no matter where the caret is within the line.
2023-09-25 23:41:31 +02:00
jsjtxietian 12299e0f53 Ignore empty lines when commenting/uncommenting code 2023-09-20 18:55:48 +08:00
Yuri Sizov 3c63dce3cd Merge pull request #80573 from KoBeWi/2k_lines_of_changes_created_at_2AM
Add EditorStringNames singleton
2023-09-06 14:49:02 +02:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Yuri Rubinsky 35802374ac Add coloring for completion of vector components 2023-08-30 21:13:25 +03:00
Yuri Sizov 04e550acb6 Merge pull request #79358 from timothyqiu/indentation
Make indentation indicators translatable
2023-07-31 21:01:13 +02:00
Yuri Sizov d13369eee1 Merge pull request #68140 from quinnyo/auto-complete-option
Add editor setting to toggle automatic code completion
2023-07-12 17:15:51 +02:00
Yuri Sizov 1e1d2a89bf Merge pull request #44557 from iwek7/improved_comment_toggle
Improve `CodeEdit`'s toggle comments behavior
2023-07-12 17:14:52 +02:00
Yuri Sizov ecc9134086 Merge pull request #79079 from stmSi/ESC-key-not-closing-FindReplaceBar
Fix ESC (ui_cancel) not closing FindReplaceBar
2023-07-12 15:09:46 +02:00
Haoyu Qiu a552103531 Make indentation indicators translatable 2023-07-12 09:19:24 +08:00
stmSi 7eb517c27f Fix: ESC (ui_cancel) not closing FindReplaceBar 2023-07-06 03:35:01 +06:30
Haoyu Qiu ac454ce2a7 Translate "No match" message in FindReplaceBar 2023-07-02 16:49:22 +08:00
quinnyo 68c24f9993 Add code_complete_enabled code editor setting 2023-06-21 02:51:05 +10:00
bruvzg 75e6ec8874
[TextEdit] Expose all auto-wrap modes. 2023-06-13 10:28:27 +03:00
Rémi Verschelde 577ab3c565
Merge pull request #75746 from ajreckof/order_autocomplete
Sort code autocompletion with rules
2023-06-08 18:14:31 +02:00
kobewi 09d5884b0d Enable bookmarks gutter 2023-06-02 22:40:29 +02:00
iwek b0df2e1552 Update comment toggle behavior in CodeEdit 2023-06-01 19:11:57 +02:00
Rémi Verschelde 6dcd490d03
Merge pull request #66763 from MewPurPur/remove-bookmark-hiding
Remove editor setting for hiding bookmarks
2023-05-29 10:28:37 +02:00
ajreckof 006e899bb3 sort code completions with rules
Fixups

Add levenshtein distance for comparisons, remove kind sort order, try to improve as many different use cases as possible

Trying again to improve code completion

Sort code autocompletion options by similarity based on input

To make it really brief, uses a combination `String.similiary`, the category system introduced in a previous PR, and some filtering to yield more predictable results, instead of scattering every completion option at seemingly random.

It also gives much higher priority to strings that contain the base in full, closer to the beginning or are perfect matches.

Also moves CodeCompletionOptionCompare to code_edit.cpp

Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
Co-Authored-By: Eric M <41730826+EricEzaM@users.noreply.github.com>
2023-05-23 05:12:34 +02:00
Arman Elgudzhyan 8ab2cf3d2d Use defined key mapping for closing popups and dialogs
As opposed to hardcoding the escape key. Also removed such hardcoding in a few other places as well as a hardcoded enter key in one of the affected input fields.
2023-05-20 17:39:59 -07:00
Paulb23 0b3fba45c6 Move convert_indent into CodeEdit 2023-05-07 13:08:37 +01:00
Clay John 610877e326
Merge pull request #72288 from MewPurPur/use-string-repeat
Use `String.repeat()` to optimize several String methods
2023-05-05 09:56:48 -07:00