diff --git a/codex-rs/tui/src/bottom_pane/help_view.rs b/codex-rs/tui/src/bottom_pane/help_view.rs index 2102098be4..dc8fb15d7b 100644 --- a/codex-rs/tui/src/bottom_pane/help_view.rs +++ b/codex-rs/tui/src/bottom_pane/help_view.rs @@ -375,8 +375,8 @@ impl BottomPaneView for SlashHelpView { .. } => self.move_to_match(1), KeyEvent { - code: KeyCode::Char('p'), - modifiers: KeyModifiers::NONE, + code: KeyCode::Char('p' | 'N'), + modifiers: KeyModifiers::NONE | KeyModifiers::SHIFT, .. } => self.move_to_match(-1), _ => {} diff --git a/codex-rs/tui/src/chatwidget/tests.rs b/codex-rs/tui/src/chatwidget/tests.rs index 7e8ba646b1..c687e066e7 100644 --- a/codex-rs/tui/src/chatwidget/tests.rs +++ b/codex-rs/tui/src/chatwidget/tests.rs @@ -6074,6 +6074,10 @@ async fn slash_help_search_navigates_matches_with_n_and_p() { chat.handle_key_event(KeyEvent::from(KeyCode::Char('p'))); let previous = render_bottom_popup(&chat, 100); assert!(previous.contains("2/3 |")); + + chat.handle_key_event(KeyEvent::new(KeyCode::Char('N'), KeyModifiers::SHIFT)); + let shifted_previous = render_bottom_popup(&chat, 100); + assert!(shifted_previous.contains("1/3 |")); } #[tokio::test]