An edit past an open block wrote it back and dropped its input while
it held focus, so focus fell to the window root and Undo reached
nothing. The next render passes such focus to the document.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Each drawn character finds its written one, skipping only white
space, escapes and quote marks, so a press lands on the character
itself. Code, front matter and link definitions read back line for
line. An HTML block keeps each text run's source byte, and an alert
keeps its text past the marker; alert() now takes the source.
A secondary press refuses a target its write-back changed, and its
focus no longer opens an empty document. Run's element stack moves to
tree/stack.rs and the HTML-block reader to tree/html_block.rs.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Each drawn text piece keeps its written span, so a press maps back to a
source byte. A secondary press opens nothing: it moves the caret there and
emits DocumentEvent::Pointed with the block's kind, link, picture and
whether it lies in a table or code. Block nodes count from their own start.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
At the root a quote marked [!NOTE] and the rest, as GitHub's API reads it,
is an alert; a [toc] paragraph lists the headings and a press reveals one;
an HTML block shows its text with the inline tags, white space as a browser
lays it, scripts and styles dropped. The rule is 2px; bullets turn by depth.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The document carries Markdown's editing tools for ElyMark (MARK-06):
Enter continues a list item or ends an empty one, Tab and Shift-Tab
shift an open block's lines, table rows and columns come and go as
one undo step, a match shows in any mode, replacements are one step,
and a fenced block colors by its language.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Undo or redo in an open block writes it back as one step and steps the
document, so redo survives mode switches and further undos.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Visual draws the top-level blocks in a gpui list; a pressed block opens as
its source and its typing is the text at once, written back as one undo
step. CodeEditor takes the owner's line colors, resets with a fresh
history and keeps at most 64 MiB of undo text. MarkdownMode gains Preview.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>