T34: prompts and commands carry OSC 133 marks: the tap reads every OSC body and hands 133's marks to the session, which keeps its last command's status; zsh, bash, fish and PowerShell mark what the shell leaves unmarked, and the user's prompt still sees the status
CI / platforms (ubuntu-24.04) (push) Successful in 1m2s
CI / platforms (windows-latest) (push) Successful in 1m45s
CI / macos (push) Successful in 12m10s

This commit is contained in:
ZacharyZhang-NY committed 2026-10-16 22:16:50 -04:00
1 parent cccfb2c82b
commit c53b540f42
18 files changed
+359 -88

No files matched your search

+5
View File
@@ -22,6 +22,7 @@ use super::{
frame::frame,
ink::Ink,
input::{self, Find},
marks::Mark,
mouse::MouseMode,
paint::{self, Look},
pointer::Pointer,
@@ -48,6 +49,8 @@ pub enum TerminalEvent {
Title(String),
Folder(PathBuf),
Bell,
/// A command the shell ran ended, with the status it gave.
Finished(Option<i32>),
Exited(ExitStatus),
}
@@ -218,6 +221,8 @@ impl TerminalView {
}
PtyEvent::Term(event) => self.term_event(event, cx),
PtyEvent::Mouse(mode) => self.mouse = mode,
PtyEvent::Mark(Mark::Done(status)) => cx.emit(TerminalEvent::Finished(status)),
PtyEvent::Mark(_) => {}
}
}
// ponytail: a full search per output batch while find is open; search only new lines if it lags.