diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ee25e0a62..04988dd99d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - support `home` and `end` keys in branchlist ([#957](https://github.com/extrawurst/gitui/issues/957)) - add `ghemoji` feature to make gh-emoji (GitHub emoji) optional ([#954](https://github.com/extrawurst/gitui/pull/954)) - allow customizing key symbols like `⏎` & `⇧` ([see docs](https://github.com/extrawurst/gitui/blob/master/KEY_CONFIG.md#key-symbols)) ([#465](https://github.com/extrawurst/gitui/issues/465)) +- fuzzy finder up/down keys compatible with typing search patterns ([#993](https://github.com/extrawurst/gitui/pull/993)) ### Fixed - honor options (for untracked files) in `stage_all` command ([#933](https://github.com/extrawurst/gitui/issues/933)) diff --git a/src/components/file_find_popup.rs b/src/components/file_find_popup.rs index cce881e810..530aaae9da 100644 --- a/src/components/file_find_popup.rs +++ b/src/components/file_find_popup.rs @@ -302,9 +302,9 @@ impl Component for FileFindPopup { || *key == self.key_config.keys.enter { self.hide(); - } else if *key == self.key_config.keys.move_down { + } else if *key == self.key_config.keys.popup_down { self.move_selection(ScrollType::Down); - } else if *key == self.key_config.keys.move_up { + } else if *key == self.key_config.keys.popup_up { self.move_selection(ScrollType::Up); } } diff --git a/src/keys/key_list.rs b/src/keys/key_list.rs index 5f335d22f7..311d960515 100644 --- a/src/keys/key_list.rs +++ b/src/keys/key_list.rs @@ -40,6 +40,8 @@ pub struct KeysList { pub end: KeyEvent, pub move_up: KeyEvent, pub move_down: KeyEvent, + pub popup_up: KeyEvent, + pub popup_down: KeyEvent, pub page_down: KeyEvent, pub page_up: KeyEvent, pub shift_up: KeyEvent, @@ -114,6 +116,8 @@ impl Default for KeysList { end: KeyEvent { code: KeyCode::End, modifiers: KeyModifiers::empty()}, move_up: KeyEvent { code: KeyCode::Up, modifiers: KeyModifiers::empty()}, move_down: KeyEvent { code: KeyCode::Down, modifiers: KeyModifiers::empty()}, + popup_up: KeyEvent { code: KeyCode::Up, modifiers: KeyModifiers::empty()}, + popup_down: KeyEvent { code: KeyCode::Down, modifiers: KeyModifiers::empty()}, page_down: KeyEvent { code: KeyCode::PageDown, modifiers: KeyModifiers::empty()}, page_up: KeyEvent { code: KeyCode::PageUp, modifiers: KeyModifiers::empty()}, shift_up: KeyEvent { code: KeyCode::Up, modifiers: KeyModifiers::SHIFT}, diff --git a/vim_style_key_config.ron b/vim_style_key_config.ron index 7938cd8553..e2fde72cc2 100644 --- a/vim_style_key_config.ron +++ b/vim_style_key_config.ron @@ -44,6 +44,8 @@ end: ( code: End, modifiers: ( bits: 0,),), move_up: ( code: Char('k'), modifiers: ( bits: 0,),), move_down: ( code: Char('j'), modifiers: ( bits: 0,),), + popup_up: ( code: Char('p'), modifiers: ( bits: 2,),), + popup_down: ( code: Char('n'), modifiers: ( bits: 2,),), page_up: ( code: Char('b'), modifiers: ( bits: 2,),), page_down: ( code: Char('f'), modifiers: ( bits: 2,),), tree_collapse_recursive: ( code: Left, modifiers: ( bits: 1,),),