Appearance
Grapheme Cluster Cursor Movement
Cursor movement (CUF/CUB) should respect grapheme cluster boundaries. Moving the cursor back over a ZWJ emoji sequence should skip the entire sequence, not individual codepoints. Many terminals still move by codepoint rather than grapheme cluster.
How this is tested: Write an emoji ZWJ sequence, move cursor back by 1, verify cursor position.
Supported by 4 of 14 backends (29%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| iTerm2 | 3.6.9 | ? unknown | |
| Ghostty | 1.3.1 | ? unknown | |
| cmux | 0.62.2 | ? unknown | |
| Kitty | 0.46.2 | ? unknown | |
| VS Code | 1.112.0 | ? unknown | |
| Warp | 0.2026.03.18.08.24.03 | ? unknown | |
| Cursor | 2.6.21 | ? unknown | |
| iterm2-app | 3.6.9 | ? unknown | |
| kitty-app | 0.46.2 | ? unknown | |
| Terminal.app | 2.15 | ? unknown |