mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-02 06:37:52 +00:00
LibGUI: Implement case inversion in Vim emulation
When in visual mode with text selected, on Key_Tilde press, uppercase characters convert to lowercase and lowercase ones to uppercase.
This commit is contained in:
committed by
Linus Groh
parent
8ffa860bc3
commit
2cfbb9a0e8
@@ -1149,6 +1149,10 @@ bool VimEditingEngine::on_key_in_visual_mode(KeyEvent const& event)
|
||||
casefold_selection(Casing::Uppercase);
|
||||
switch_to_normal_mode();
|
||||
return true;
|
||||
case (KeyCode::Key_Tilde):
|
||||
casefold_selection(Casing::Invertcase);
|
||||
switch_to_normal_mode();
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1428,6 +1432,9 @@ void VimEditingEngine::casefold_selection(Casing casing)
|
||||
case Casing::Lowercase:
|
||||
m_editor->insert_at_cursor_or_replace_selection(m_editor->selected_text().to_lowercase());
|
||||
return;
|
||||
case Casing::Invertcase:
|
||||
m_editor->insert_at_cursor_or_replace_selection(m_editor->selected_text().invert_case());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user