diff options
Diffstat (limited to 'src/popups/inspect_commit.rs')
-rw-r--r-- | src/popups/inspect_commit.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/popups/inspect_commit.rs b/src/popups/inspect_commit.rs index 42c95dd2..7ce1aced 100644 --- a/src/popups/inspect_commit.rs +++ b/src/popups/inspect_commit.rs @@ -23,6 +23,8 @@ use ratatui::{ Frame, }; +use super::FileTreeOpen; + #[derive(Clone, Debug)] pub struct InspectCommitOpen { pub commit_id: CommitId, @@ -169,6 +171,24 @@ impl Component for InspectCommitPopup { } else if key_match(e, self.key_config.keys.move_left) { self.hide_stacked(false); + } else if key_match( + e, + self.key_config.keys.open_file_tree, + ) { + if let Some(commit_id) = self + .open_request + .as_ref() + .map(|open_commit| open_commit.commit_id) + { + self.hide_stacked(true); + self.queue.push(InternalEvent::OpenPopup( + StackablePopupOpen::FileTree( + FileTreeOpen::new(commit_id), + ), + )); + return Ok(EventState::Consumed); + } + return Ok(EventState::NotConsumed); } return Ok(EventState::Consumed); |