Skip to content

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 26 Jul 10:06

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;E mark (VS Code's \\/\xHH escaping
    decoded, so echo one; echo two comes back intact).
  • Exit codes from 633;D;<status> (incl. 130 for 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-runs PROMPT_COMMAND; VS Code's
    integration then emits an empty E + C + bare D triple. 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.py runs in CI against the real,
    pinned shellIntegration-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.