Skip to content

EL erases with bg color

Category: erase · Baseline: core · Tags: ECMA-48 Standard, VT100 · Specification ↗

EL (Erase in Line) should fill erased cells with the current background color, not the default background. When a background color is set via SGR (e.g., SGR 42 for green) before issuing EL, the erased area should be painted with that background color. This is how TUI applications create colored status bars, highlighted regions, and filled backgrounds — they set a background color and erase the line to paint the entire line with that color.
How this is testedautomated
Set green background with \x1b[42m, write text, move to start of line, send \x1b[K (EL 0), verify erased cells have the green background color.

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-04-06

Supported by 10 of 12 terminals (83%). Not supported by: vt100.js, WezTerm. Part of the Core TUI baseline. Notes: vt100.js: EL doesn't preserve SGR background — pure TypeScript emulator; WezTerm: EL doesn't preserve SGR background in headless mode.

Supported by 12 of 14 backends (86%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9✓ yes
Ghostty1.3.1✓ yes
VS Code✓ yes
Warp✓ yes
Cursor✓ yes
Terminal.app✓ yes

Headless Backends

Parser correctness only — a means the parser accepts the sequence.

BackendVersionSupportNotes
Alacritty0.26.0✓ yes
Kitty0.40.0✓ yes
vterm0.2.0✓ yes
xterm.js5.5.0✓ yes
vt100.js0.2.1✗ noEL doesn't preserve SGR background — pure TypeScript emulator
WezTerm0.1.0-fork.5✗ noEL doesn't preserve SGR background in headless mode