Skip to content

fix: register CSI ^ as scroll down alias#10

Merged
csweichel merged 1 commit intomainfrom
fix/csi-caret-scroll-down
Mar 26, 2026
Merged

fix: register CSI ^ as scroll down alias#10
csweichel merged 1 commit intomainfrom
fix/csi-caret-scroll-down

Conversation

@csweichel
Copy link
Copy Markdown
Contributor

Problem

Upstream xterm.js added CSI Ps ^ as an alias for CSI Ps T (scroll down) in commit da4243c. The Go port did not register this handler, causing the sequence to be silently ignored.

Fix

Register CSI ^ mapped to the existing scrollDown handler, matching the upstream behavior.

Tests

Added two test cases to TestScrollUpDown:

  • SD_scroll_down_caret_alias — verifies CSI 1 ^ scrolls down by 1 (same as CSI 1 T)
  • SD_scroll_down_caret_2 — verifies CSI 2 ^ scrolls down by 2

Fixes #1

CSI Ps ^ is an alias for CSI Ps T (scroll down) added in upstream
xterm.js commit da4243c. Without this handler, the sequence is
silently ignored.

Fixes #1

Co-authored-by: Ona <no-reply@ona.com>
@csweichel csweichel added the bug Something isn't working label Mar 26, 2026
@csweichel csweichel merged commit d092e6b into main Mar 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing CSI ^ handler (scroll down alias)

1 participant