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:
1 parent
47f3c7d505
commit
99d9bf45d4
7 files changed
+73
-14
No files matched your search
+12
-7
@@ -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()
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user