T18 round 2 fixes: a folder the terminal cannot enter stops the start, and links read combining clusters whole

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-09-26 01:50:58 -04:00
1 parent 47f3c7d505
commit 99d9bf45d4
7 files changed
+73 -14

No files matched your search

+12 -7
View File
@@ -49,19 +49,24 @@ pub(crate) struct Frame {
pub cursor: Option<(usize, usize, CursorShape)>,
}
impl Row {
/// Each cell's text, a combining cluster whole.
pub(crate) fn cells(&self) -> Vec<String> {
let mut cells: Vec<String> = self.text.chars().map(String::from).collect();
for (column, cluster, _) in &self.clusters {
cells[*column] = cluster.clone();
}
cells
}
}
impl Frame {
/// The screen's text, trailing spaces gone.
pub(crate) fn text(&self) -> String {
let lines: Vec<String> = self
.rows
.iter()
.map(|row| {
let mut cells: Vec<String> = row.text.chars().map(String::from).collect();
for (column, cluster, _) in &row.clusters {
cells[*column] = cluster.clone();
}
cells.concat().trim_end().to_string()
})
.map(|row| row.cells().concat().trim_end().to_string())
.collect();
lines.join("\n").trim_end().to_string()
}