diff options
Diffstat (limited to 'src/shell/event.rs')
-rw-r--r-- | src/shell/event.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/shell/event.rs b/src/shell/event.rs index fe96d5b..dc58e6f 100644 --- a/src/shell/event.rs +++ b/src/shell/event.rs @@ -7,7 +7,7 @@ pub enum Event { PtyOutput, ChildRunPipeline(usize, (usize, usize)), ChildSuspend(usize), - ChildExit(usize, Option<Env>), + ChildExit(usize, super::history::ExitInfo, Option<Env>), GitInfo(Option<super::inputs::GitInfo>), ClockTimer, } @@ -94,7 +94,7 @@ struct Pending { pty_output: bool, child_run_pipeline: std::collections::VecDeque<(usize, (usize, usize))>, child_suspend: std::collections::VecDeque<usize>, - child_exit: Option<(usize, Option<Env>)>, + child_exit: Option<(usize, super::history::ExitInfo, Option<Env>)>, git_info: Option<Option<super::inputs::GitInfo>>, clock_timer: bool, done: bool, @@ -121,8 +121,8 @@ impl Pending { if let Some(idx) = self.child_suspend.pop_front() { return Some(Some(Event::ChildSuspend(idx))); } - if let Some((idx, env)) = self.child_exit.take() { - return Some(Some(Event::ChildExit(idx, env))); + if let Some((idx, exit_info, env)) = self.child_exit.take() { + return Some(Some(Event::ChildExit(idx, exit_info, env))); } if let Some(info) = self.git_info.take() { return Some(Some(Event::GitInfo(info))); @@ -152,8 +152,8 @@ impl Pending { Some(Event::ChildSuspend(idx)) => { self.child_suspend.push_back(idx); } - Some(Event::ChildExit(idx, env)) => { - self.child_exit = Some((idx, env)); + Some(Event::ChildExit(idx, exit_info, env)) => { + self.child_exit = Some((idx, exit_info, env)); } Some(Event::GitInfo(info)) => self.git_info = Some(info), Some(Event::ClockTimer) => self.clock_timer = true, |