summaryrefslogtreecommitdiffstats
path: root/src/popups/inspect_commit.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/popups/inspect_commit.rs')
-rw-r--r--src/popups/inspect_commit.rs20
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);