LibGUI: Delete from current position to end of line in VimEditingEngine

When in normal mode pressing Shift+D will delete from the current cursor
position to the end of the line. Leaving the cursor on the character
before where the cursor was when the deletion took place.
This commit is contained in:
huttongrabiel 2022-10-07 20:17:00 -07:00 committed by Andrew Kaster
commit 6926991a56
Notes: sideshowbarker 2024-07-17 08:34:29 +09:00

View file

@ -963,6 +963,11 @@ bool VimEditingEngine::on_key_in_normal_mode(KeyEvent const& event)
move_to_logical_line_end();
switch_to_insert_mode();
return true;
case (KeyCode::Key_D):
m_editor->delete_text_range({ m_editor->cursor(), { m_editor->cursor().line(), m_editor->current_line().length() } });
if (m_editor->cursor().column() != 0)
move_one_left();
break;
case (KeyCode::Key_I):
move_to_logical_line_beginning();
switch_to_insert_mode();