Skip to content

Strip OSC and DCS sequences to support e.g. OSC 8 hyperlinks over tmux.#280

Open
khoek wants to merge 3 commits intoconsole-rs:mainfrom
khoek:main
Open

Strip OSC and DCS sequences to support e.g. OSC 8 hyperlinks over tmux.#280
khoek wants to merge 3 commits intoconsole-rs:mainfrom
khoek:main

Conversation

@khoek
Copy link

@khoek khoek commented Feb 7, 2026

I noticed that using indicatif (and friends) to embed a hyperlink in a console progress bar caused the wheels to fall off my app (with many newlines being spammed to the console and the auto-updating line-rewriting broken). I tracked the problem down to the OSC sequences incorrectly being interpreted as printable, and the following patch fixes the problem for me.

khoek added 3 commits February 7, 2026 13:48
Treat OSC (e.g. OSC 8 hyperlinks) as non-printing when iterating/stripping ANSI codes.
Treat DCS as non-printing, including the DCS wrapper used by tmux passthrough.

Adds a regression test for tmux-wrapped OSC 8 hyperlinks.
Ensure the complex_data test fixture is present in packaged sources.
@djc
Copy link
Member

djc commented Feb 7, 2026

Appreciate the clean commit history, but it looks like there's a fair bit of code duplication. Could that be deduplicated? (If not, why not?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants