diff --git a/assets/vim_style_key_config.ron b/assets/vim_style_key_config.ron index 84dce376..6dbc61c3 100644 --- a/assets/vim_style_key_config.ron +++ b/assets/vim_style_key_config.ron @@ -43,11 +43,10 @@ edit_file: ( code: Char('I'), modifiers: ( bits: 0,),), - status_stage_file: ( code: Enter, modifiers: ( bits: 0,),), + status_toggle_item: ( code: Enter, modifiers: ( bits: 0,),), status_stage_all: ( code: Char('a'), modifiers: ( bits: 0,),), - status_reset_file: ( code: Char('U'), modifiers: ( bits: 0,),), - diff_reset_hunk: ( code: Enter, modifiers: ( bits: 0,),), + status_reset_item: ( code: Char('U'), modifiers: ( bits: 0,),), status_ignore_file: ( code: Char('i'), modifiers: ( bits: 0,),), stashing_save: ( code: Char('w'), modifiers: ( bits: 0,),), diff --git a/src/components/changes.rs b/src/components/changes.rs index a67ec317..3d8d2d06 100644 --- a/src/components/changes.rs +++ b/src/components/changes.rs @@ -267,7 +267,7 @@ impl Component for ChangesComponent { .borrow_mut() .push_back(InternalEvent::OpenCommit); Ok(true) - } else if e == self.key_config.status_stage_file { + } else if e == self.key_config.status_toggle_item { try_or_popup!( self, "staging error:", @@ -291,7 +291,7 @@ impl Component for ChangesComponent { self.stage_remove_all()?; } Ok(true) - } else if e == self.key_config.status_reset_file + } else if e == self.key_config.status_reset_item && self.is_working_dir { Ok(self.dispatch_reset_workdir()) diff --git a/src/components/diff.rs b/src/components/diff.rs index 63519f1d..b97b4dc1 100644 --- a/src/components/diff.rs +++ b/src/components/diff.rs @@ -687,7 +687,7 @@ impl Component for DiffComponent { self.stage_hunk()?; } Ok(true) - } else if e == self.key_config.diff_reset_hunk + } else if e == self.key_config.status_reset_item && !self.is_immutable && !self.is_stage() { diff --git a/src/keys.rs b/src/keys.rs index 7e10bc24..417428c2 100644 --- a/src/keys.rs +++ b/src/keys.rs @@ -48,10 +48,9 @@ pub struct KeyConfig { pub shift_down: KeyEvent, pub enter: KeyEvent, pub edit_file: KeyEvent, - pub status_stage_file: KeyEvent, pub status_stage_all: KeyEvent, - pub status_reset_file: KeyEvent, - pub diff_reset_hunk: KeyEvent, + pub status_toggle_item: KeyEvent, + pub status_reset_item: KeyEvent, pub status_ignore_file: KeyEvent, pub stashing_save: KeyEvent, pub stashing_toggle_untracked: KeyEvent, @@ -101,10 +100,9 @@ impl Default for KeyConfig { shift_down: KeyEvent { code: KeyCode::Down, modifiers: KeyModifiers::SHIFT}, enter: KeyEvent { code: KeyCode::Enter, modifiers: KeyModifiers::empty()}, edit_file: KeyEvent { code: KeyCode::Char('e'), modifiers: KeyModifiers::empty()}, - status_stage_file: KeyEvent { code: KeyCode::Enter, modifiers: KeyModifiers::empty()}, + status_toggle_item: KeyEvent { code: KeyCode::Enter, modifiers: KeyModifiers::empty()}, status_stage_all: KeyEvent { code: KeyCode::Char('a'), modifiers: KeyModifiers::empty()}, - status_reset_file: KeyEvent { code: KeyCode::Char('D'), modifiers: KeyModifiers::SHIFT}, - diff_reset_hunk: KeyEvent { code: KeyCode::Char('D'), modifiers: KeyModifiers::SHIFT}, + status_reset_item: KeyEvent { code: KeyCode::Char('D'), modifiers: KeyModifiers::SHIFT}, status_ignore_file: KeyEvent { code: KeyCode::Char('i'), modifiers: KeyModifiers::empty()}, stashing_save: KeyEvent { code: KeyCode::Char('s'), modifiers: KeyModifiers::empty()}, stashing_toggle_untracked: KeyEvent { code: KeyCode::Char('u'), modifiers: KeyModifiers::empty()}, diff --git a/src/strings.rs b/src/strings.rs index aa5b5f11..eefb2fa3 100644 --- a/src/strings.rs +++ b/src/strings.rs @@ -255,7 +255,7 @@ pub mod commands { CommandText::new( format!( "Add hunk [{}]", - get_hint(key_config.diff_reset_hunk), + get_hint(key_config.status_toggle_item), ), "adds selected hunk to stage", CMD_GROUP_DIFF, @@ -267,7 +267,7 @@ pub mod commands { CommandText::new( format!( "Revert hunk [{}]", - get_hint(key_config.status_reset_file), + get_hint(key_config.status_reset_item), ), "reverts selected hunk", CMD_GROUP_DIFF,