Documents: cells keep their row's pipes; long reads finish cell moves
An emptied bare edge cell writes a pipe so its column stays. The caret reads the escaped write-back. A right press beside an edited cell keeps its place. A move that waits on a long read opens once the read lands. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
2b6bd1d369
commit
f1771b3880
8 files changed
+224
-44
No files matched your search
@@ -109,6 +109,8 @@ pub struct MarkdownDocument {
|
||||
writes: usize,
|
||||
/// A match asked before its text was read; its version.
|
||||
showing: Option<(Range<usize>, u64)>,
|
||||
/// A block asked open before its text was read.
|
||||
waiting: Option<(Option<usize>, edit::Landing, u64)>,
|
||||
look: DocumentLook,
|
||||
/// Typing in the open block, counted.
|
||||
typed: u64,
|
||||
@@ -181,6 +183,7 @@ impl MarkdownDocument {
|
||||
asks: 0,
|
||||
writes: 0,
|
||||
showing: None,
|
||||
waiting: None,
|
||||
look: DocumentLook::default(),
|
||||
typed: 0,
|
||||
centered: None,
|
||||
@@ -246,7 +249,9 @@ impl MarkdownDocument {
|
||||
let written = match open.append {
|
||||
true if typed.is_empty() => String::new(),
|
||||
true => format!("{}{typed}", joint(text)),
|
||||
false if open.cell.is_some() => cells::kept(typed, cells::closed(text, open.range.end)),
|
||||
false if open.cell.is_some() => {
|
||||
cells::kept(typed, cells::edges(text, open.range.clone()))
|
||||
}
|
||||
false => typed.to_string(),
|
||||
};
|
||||
[&text[..open.range.start], &written, &text[open.range.end..]].concat()
|
||||
|
||||
Reference in new issue
Block a user