Merge pull request #28493 from mitchcurtis/mac-line

Make Command + Left go to first non-whitespace character
This commit is contained in:
Rémi Verschelde 2019-05-01 08:25:40 +02:00 committed by GitHub
commit 59b553b2af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2610,9 +2610,22 @@ void TextEdit::_gui_input(const Ref<InputEvent> &p_gui_input) {
#ifdef APPLE_STYLE_KEYS
if (k->get_command()) {
cursor_set_column(0);
// Start at first column (it's slightly faster that way) and look for the first non-whitespace character.
int new_cursor_pos = 0;
for (int i = 0; i < text[cursor.line].length(); ++i) {
if (!_is_whitespace(text[cursor.line][i])) {
new_cursor_pos = i;
break;
}
}
if (new_cursor_pos == cursor.column) {
// We're already at the first text character, so move to the very beginning of the line.
cursor_set_column(0);
} else {
// We're somewhere to the right of the first text character; move to the first one.
cursor_set_column(new_cursor_pos);
}
} else if (k->get_alt()) {
#else
if (k->get_alt()) {
scancode_handled = false;