Appearance
TBC clear tab stop (CSI g)
CSI Ps gTBC (Tab Clear) clears tab stops.
CSI 0 g clears the tab stop at the current cursor position; CSI 3 g clears all tab stops. With no tab stop remaining, a tab (HT) advances the cursor to the right margin rather than doing nothing (DEC VT220 reference manual §4.8 — with no next tab, HT moves the cursor to the right margin). TBC is used together with HTS to set up custom tab stop patterns for formatted output.How this is testedautomated
Clear all tab stops with
Clear all tab stops with
\x1b[3g, send a tab from column 1 — verify the cursor advances to the right margin (DEC VT220 reference manual §4.8), confirming no tab stop remained.The same probe runs against headless backends (via Termless) and real terminal apps (via a daemon launched in each terminal). This lets us distinguish parser correctness from rendering correctness.
Analysis2026-09-28
Supported by 1 of 12 terminals (8%). Part of the Core TUI baseline.
Supported by 1 of 14 backends (7%)
Terminal Applications
| Terminal | Version | Support | Notes |
|---|---|---|---|
| iTerm2 | 3.6.9 | ✗ no | cursor at col 80, expected 1 |
| Ghostty | 1.3.1 | ✗ no | cursor at col 270, expected 1 |
| Kitty | 0.46.2 | ✗ no | Tab stop clear (TBC) not exposed via Python batch bridge |
| VS Code | ✗ no | ||
| Warp | ✗ no | ||
| Cursor | ✗ no | ||
| Terminal.app | ✗ no |
Headless Backends
Parser correctness only — a ✓ means the parser accepts the sequence.
| Backend | Version | Support | Notes |
|---|---|---|---|
| vterm.js | 0.2.0 | ✓ yes | Tab stop manipulation not implemented in vterm.js |
| Alacritty | 0.26.0 | ✗ no | Tab stop clear (TBC) not exposed via alacritty_terminal API |
| vt100.js | 0.2.1 | ✗ no | Tab stop manipulation not implemented in vt100.js |
| WezTerm | 0.1.0-fork.5 | ✗ no | Tab stop clear (TBC) not exposed via wezterm-term API |
| xterm.js | 5.5.0 | ✗ no | Tab stop clear (TBC) not implemented in xterm.js headless mode |