[PR #8999] [MERGED] Add support for chaining OSC 10-12 #27373

Open
opened 2026-01-31 09:21:36 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/8999
Author: @skyline75489
Created: 2/2/2021
Status: Merged
Merged: 2/4/2021
Merged by: @undefined

Base: mainHead: chesterliu/dev/osc-chaining-10-12


📝 Commits (3)

📊 Changes

2 files changed (+122 additions, -50 deletions)

View changed files

📝 src/terminal/parser/OutputStateMachineEngine.cpp (+49 -35)
📝 src/terminal/parser/ut_parser/OutputEngineTest.cpp (+73 -15)

📄 Description

This adds the support for chaining OSC 10-12, allowing users to set all
of them at once.

BREAKING CHANGE
Before this PR, the OSC 10/11/12 command will only be dispatched iff the
first color is valid. This is no longer true. The new implementation
strictly follows xterm's behavior. Each color is treated independently.
For example, \e]10;invalid;white\e\\ is effectively \e]11;white\e\\.

Validation Steps Performed

Tests added. Manually tested.

Main OSC color tracking issue: #942
OSC 4 & Initial OSC 10-12 PR: #7578

Closes one item in #942


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/8999 **Author:** [@skyline75489](https://github.com/skyline75489) **Created:** 2/2/2021 **Status:** ✅ Merged **Merged:** 2/4/2021 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `chesterliu/dev/osc-chaining-10-12` --- ### 📝 Commits (3) - [`f48a93f`](https://github.com/microsoft/terminal/commit/f48a93fef05e05d4f0c20a1560df21bbbd10e9ef) Add support for chaining OSC 10-12 - [`c5ee4b8`](https://github.com/microsoft/terminal/commit/c5ee4b86c5be3a60572fa5381db1809d9db44fb1) More xterm - [`ed4f8e3`](https://github.com/microsoft/terminal/commit/ed4f8e3d7aaee66e7f0d633b81282d4da2f4a790) Comment ### 📊 Changes **2 files changed** (+122 additions, -50 deletions) <details> <summary>View changed files</summary> 📝 `src/terminal/parser/OutputStateMachineEngine.cpp` (+49 -35) 📝 `src/terminal/parser/ut_parser/OutputEngineTest.cpp` (+73 -15) </details> ### 📄 Description This adds the support for chaining OSC 10-12, allowing users to set all of them at once. **BREAKING CHANGE** Before this PR, the OSC 10/11/12 command will only be dispatched iff the first color is valid. This is no longer true. The new implementation strictly follows xterm's behavior. Each color is treated independently. For example, `\e]10;invalid;white\e\\` is effectively `\e]11;white\e\\`. ## Validation Steps Performed Tests added. Manually tested. Main OSC color tracking issue: #942 OSC 4 & Initial OSC 10-12 PR: #7578 Closes one item in #942 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:21:36 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#27373