v0.4.2
Zero-config recording under VS Code shell integration (OSC 633)
If your shell sources VS Code's shellIntegration-*.sh — the manual
install
VS Code recommends for tmux/SSH/subshell setups — backscroll run now
records that session with no backscroll snippet at all:
- Command text from the
633;Emark (VS Code's\\/\xHHescaping
decoded, soecho one; echo twocomes back intact). - Exit codes from
633;D;<status>(incl.130for Ctrl-C). - cwd tracking from
633;P;Cwd=. - If you have both the backscroll snippet and VS Code's integration
installed, nothing double-records and backscroll's own command mark wins.
633 sequences are host-terminal metadata, so they are consumed — never
stored into recorded output; show --raw replay stays clean.
Fixed
- Phantom prompt cycles no longer store a
(unknown command)stub.
(Ctrl-C at an empty bash prompt re-runsPROMPT_COMMAND; VS Code's
integration then emits an emptyE+C+ bareDtriple. Rule:
a segment with no command text, no output, and no exit code is
discarded — every real command has at least one of the three.)
Docs & tests
docs/osc133.md: expanded OSC 633 section + gotcha 12 (phantom prompt
cycles).- New E2E suite
shell/test_vscode_633.pyruns in CI against the real,
pinnedshellIntegration-bash.sh(checksum-verified fetch).
Install: curl -sSfL https://raw.githubusercontent.com/soren-achebe/backscroll/main/install.sh | sh · brew install soren-achebe/tap/backscroll · deb/rpm/tarballs below. Fully compatible with 0.4.x databases.