diff --git a/native/src/widget/text_input.rs b/native/src/widget/text_input.rs index 1c07e25246..ae3d74ae65 100644 --- a/native/src/widget/text_input.rs +++ b/native/src/widget/text_input.rs @@ -358,6 +358,21 @@ where messages.push(message); } keyboard::KeyCode::Delete => { + if platform::is_jump_modifier_pressed(modifiers) + && self.state.cursor.selection().is_none() + { + if self.is_secure { + let cursor_pos = self.state.cursor.end(&self.value); + self.state + .cursor + .select_range(cursor_pos, self.value.len()); + } else { + self.state + .cursor + .select_right_by_words(&self.value); + } + } + let mut editor = Editor::new(&mut self.value, &mut self.state.cursor);