|
@@ -1349,8 +1349,21 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
|
|
|
|
|
|
if (k.mod.shift)
|
|
|
_pre_shift_selection();
|
|
|
-
|
|
|
- cursor_set_column(0);
|
|
|
+
|
|
|
+ // compute whitespace symbols seq length
|
|
|
+ int current_line_whitespace_len = 0;
|
|
|
+ while(current_line_whitespace_len < text[cursor.line].length()) {
|
|
|
+ CharType c = text[cursor.line][current_line_whitespace_len];
|
|
|
+ if(c != '\t' && c != ' ')
|
|
|
+ break;
|
|
|
+ current_line_whitespace_len++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(cursor_get_column() == current_line_whitespace_len)
|
|
|
+ cursor_set_column(0);
|
|
|
+ else
|
|
|
+ cursor_set_column(current_line_whitespace_len);
|
|
|
+
|
|
|
if (k.mod.command)
|
|
|
cursor_set_line(0);
|
|
|
|