T10: find reads the grid as it shows, through Ely's find_all: combining marks, hidden cells blank, wrapped rows joined, Unicode words; new output, a resize and a settings change search again, and the current match follows its line text; a full reset replays the title through set_options
CI / platforms (windows-latest) (push) Failing after 8s
CI / macos (push) Failing after 8m31s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s

This commit is contained in:
ZacharyZhang-NY committed 2026-10-14 16:57:09 -04:00
1 parent 4d8788ff22
commit 1c21dfd197
10 files changed
+335 -103

No files matched your search

+10 -2
View File
@@ -53,7 +53,12 @@ impl<P: EventedReadWrite> io::Read for Tapped<P> {
log::debug!("pty {pid}: a folder report after its session closed");
}
});
if let Some(mode) = self.mouse.feed(&buf[..count]) {
let resets = self.mouse.resets;
let changed = self.mouse.feed(&buf[..count]);
if self.mouse.resets != resets && events.unbounded_send(PtyEvent::Reset).is_err() {
log::debug!("pty {pid}: a reset after its session closed");
}
if let Some(mode) = changed {
log::info!("pty {pid}: mouse {mode:?}");
if events.unbounded_send(PtyEvent::Mouse(mode)).is_err() {
log::debug!("pty {pid}: a mouse mode after its session closed");
@@ -194,7 +199,7 @@ enum Csi {
Private,
}
/// The mouse modes as xterm holds them, read as vte reads; alacritty drops 9.
/// The mouse modes as xterm holds them, and resets, read as vte reads; alacritty drops 9.
#[derive(Default)]
pub(crate) struct MouseModes {
state: Csi,
@@ -204,6 +209,8 @@ pub(crate) struct MouseModes {
/// Past a `:`, whose subparameters the parser's mode sets skip.
sub: bool,
mode: MouseMode,
/// Full resets, `ESC c`, seen so far.
pub resets: usize,
}
impl MouseModes {
@@ -230,6 +237,7 @@ impl MouseModes {
(Csi::Escape, b'[') => Csi::Bracket,
(Csi::Escape, b'c') => {
self.mode = MouseMode::default();
self.resets += 1;
Csi::Ground
}
(Csi::Bracket, b'?') => {