diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-02-16 18:34:51 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-02-16 18:34:51 +0100 |
commit | 57419dcd88553bde0b78a49dab8d94523eb95a8c (patch) | |
tree | c7ae8f3f2eebc23ae6f5ecef60909f217f8e1fc7 /editor | |
parent | ec2f9a78f7e8e9ad767a34f77ad2f825c3f59c63 (diff) | |
parent | d188068caae0236cbd0def307a06728b555351d7 (diff) |
Merge pull request #73440 from aXu-AP/code-editor-toggle-comment-fix
Fix toggle comment not moving caret
Diffstat (limited to 'editor')
-rw-r--r-- | editor/code_editor.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index 97a73d89e7..9a8a1097cd 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -1629,14 +1629,15 @@ void CodeTextEditor::toggle_inline_comment(const String &delimiter) { int selection_i = 0; int offset = (is_commented ? -1 : 1) * delimiter.length(); for (const int &c2 : caret_edit_order) { + bool is_line_selection = text_editor->has_selection(c2) && text_editor->get_selection_from_line(c2) < text_editor->get_selection_to_line(c2); if (text_editor->get_caret_line(c2) >= from && text_editor->get_caret_line(c2) <= to) { int caret_col = caret_cols[caret_i++]; - caret_col += (caret_col == 0) ? 0 : offset; + caret_col += (is_line_selection && caret_col == 0) ? 0 : offset; text_editor->set_caret_column(caret_col, c2 == 0, c2); } if (text_editor->has_selection(c2) && text_editor->get_selection_to_line(c2) >= from && text_editor->get_selection_to_line(c2) <= to) { int from_col = text_editor->get_selection_from_column(c2); - from_col += (from_col == 0) ? 0 : offset; + from_col += (is_line_selection && from_col == 0) ? 0 : offset; int to_col = selection_to_cols[selection_i++]; to_col += (to_col == 0) ? 0 : offset; text_editor->select( |