diff options
Diffstat (limited to 'helix-view/src')
-rw-r--r-- | helix-view/src/commands.rs | 7 | ||||
-rw-r--r-- | helix-view/src/keymap.rs | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/helix-view/src/commands.rs b/helix-view/src/commands.rs index 93ec2632..1fb9c90e 100644 --- a/helix-view/src/commands.rs +++ b/helix-view/src/commands.rs @@ -168,6 +168,13 @@ pub fn change_selection(view: &mut View, count: usize) { insert_mode(view, count); } +pub fn collapse_selection(view: &mut View, _count: usize) { + view.state.selection = view + .state + .selection + .transform(|range| Range::new(range.head, range.head)) +} + // insert mode: // first we calculate the correct cursors/selections // then we just append at each cursor diff --git a/helix-view/src/keymap.rs b/helix-view/src/keymap.rs index c5bce85a..d4ab85a2 100644 --- a/helix-view/src/keymap.rs +++ b/helix-view/src/keymap.rs @@ -134,6 +134,7 @@ pub fn default() -> Keymaps { vec![key!('d')] => commands::delete_selection, vec![key!('c')] => commands::change_selection, vec![key!('s')] => commands::split_selection_on_newline, + vec![key!(';')] => commands::collapse_selection, vec![Key { code: KeyCode::Esc, modifiers: Modifiers::NONE |