You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
xterm.js backend: revisit addon-unicode-graphemes and addon-clipboard (OSC 52) #175
Tracking the two @xterm addons the xterm.js backend deliberately does not use yet, moved out of crates/tui-test/assets/xtermjs/README.md so the vendoring notes stay short.
@xterm/addon-unicode-graphemes
Would replace the pinned @xterm/addon-unicode11. Not adopted because it:
is marked experimental by its own package description,
needs an atob the QuickJS host does not provide, and
measures two cases differently from alacritty:
Input
alacritty
v11 (pinned)
v15-graphemes
👨👩X
5
5
3
👍🏽X
5
5
3
Agreeing with alacritty on width is why unicode11 is pinned where it is: a disagreement puts every cell after an emoji in a different column on the two backends, which moves what cells, the locator, and the SVG renderer report.
Revisit when it is no longer experimental, and adopt only if it still agrees with alacritty on that table.
@xterm/addon-clipboard
Implements OSC 52, which tui-test does not support on any backend today — alacritty parses it and raises ClipboardStore/ClipboardLoad, and the listener in terminal/alacritty.rs drops both.
Adding it to xterm.js alone would make things worse rather than better: OSC 52;c;? is answered by nothing today, and this would make one backend answer it, so the same sequence would behave differently depending on the selected backend.
Order matters here:OSC 52 should land in the Emulator contract and the conformance suite first; this addon is then how xterm.js implements its half.
Activity
fix(xtermjs): address review feedback on the xterm.js backend
feat(terminal): add xterm.js as a selectable backend (#83)