17 Commits

Author SHA1 Message Date
Vaclav Tvrdik
2abbc503cf End DCS/OSC strings at any ESC, default the external terminal to Terminal.app
A string with no ST swallowed every later sequence, RIS included, and
Clear Screen could not recover the tab. Any ESC now ends it, as in xterm,
and the sequence it starts is dispatched. The shipped setting needed Kitty.

Also: REP, SCOSC/SCORC, DECOM-relative CPR, `:` subparams and more DECRQM
modes answered; new rows inserted in one edit; controls stripped from
pastes; wide-char mouse columns.
2026-11-01 20:23:08 +01:00
Vaclav Tvrdik
2715ecddbb Report a failed spawn, drop the paste wrapper and the unbound close command, sync docs
- 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
2026-10-25 10:41:29 +01:00
Vaclav Tvrdik
e478f41f7c Fix text loss after zero-width chars, grey 248 quantization, scrollback cap, no-theme sampling, shipped terminal default
- draw(): a zero-width non-combining char (VS16, ZWJ) or a stray control
  byte dropped the rest of the run; skip the char instead
- quantize_256: grey 248 mapped to slot 256 and aborted the SGR
- trim_history: the cap now counts rows above the screen, so a value
  below the screen height (0: no scrollback) no longer cuts the screen
- "No theme" sampled the focused terminal's own colours; sample a
  non-terminal view instead
- vterm.sublime-settings: Apple Terminal is the default again, kitty
  commented out, as the README says
2026-10-25 10:39:13 +01:00
Vaclav Tvrdik
40dac967e2 selection now without command modifier key 2026-10-16 14:34:50 +02:00
Vaclav Tvrdik
8f5564f4aa Keep render state on the Terminal; a plugin reload rebuilds the command
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.
2026-10-12 15:39:29 +02:00
Vaclav Tvrdik
c2a0c75359 select theme applies only to current vterm and newly opened vterms 2026-10-02 12:29:32 +02:00
Vaclav Tvrdik
27f1140737 Fix when pi started in vterm does not scroll to the end 2026-09-16 16:50:04 +02:00
Vaclav Tvrdik
ca0d76cf5b fix for vim glitch 2026-09-10 17:28:14 +02:00
Vaclav Tvrdik
2a8fffb9c6 code comments changes 2026-09-10 10:07:12 +02:00
Vaclav Tvrdik
ab501b8cb5 remove viewport pin left over from touchpad handling
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>
2026-09-10 00:12:15 +02:00
Vaclav Tvrdik
1e31990e71 remove touchpad related code 2026-09-10 00:02:55 +02:00
Vaclav Tvrdik
00bab25d5d fixes 2026-09-09 21:42:37 +02:00
Vaclav Tvrdik
301f1f8114 Shift+Up, Shift+Down added 2026-09-09 15:32:30 +02:00
Vaclav Tvrdik
68dbde957d touchpad initial support 2026-09-08 21:26:27 +02:00
Vaclav Tvrdik
eafe53b2fb small refactoring 2026-09-08 12:48:52 +02:00
Vaclav Tvrdik
f672bff6a0 Shift+PgUp, Shift+PgDn added 2026-09-08 12:08:39 +02:00
Vaclav Tvrdik
430af419c0 initial import 2026-09-06 10:36:21 +02:00