- vterm_open shows an error dialog when the command cannot start,
instead of a tab that silently vanishes
- on_text_command hands paste straight to vterm_paste_text;
VtermPasteCommand only forwarded
- VtermCloseCommand was bound nowhere; closing the tab already kills
the process
- wheel_lines fallback matches the shipped 1; README said three
- Architecture.md: per-theme scheme files and managers, command table
- OSC 52 is ignored: any output, cat'd or remote, could plant a command
on the clipboard to paste
- kill(): terminate(force=True), so a child ignoring HUP and INT does
not outlive its tab with the pty open
- reader pauses once 64 unparsed reads wait, so a large dump blocks the
child at the pty instead of being buffered whole in memory
- tests/_bootstrap.py: add every Lib/python3* directory; Package Control
puts the libraries under the active plugin host's own directory
Sublime recreates every TextCommand instance whenever any plugin loads,
which dropped colored_lines and restarted the region key counter: old
overlays were never erased and keys were reused. RenderState now lives on
terminal.render_state, which survives reloads.
The renderer pinned a viewport dragged into sublime's past-end room. With
scroll_past_end off there is no such room: sublime clamps to bottom_y, so the
trigger can only fire against a stale anchor, which following() already
resolves on the next frame.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>