[PR #10654] [MERGED] Clean up KeyChordSerialization #28165

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/10654
Author: @lhecker
Created: 7/14/2021
Status: ✅ Merged
Merged: 7/14/2021
Merged by: @undefined

Base: main ← Head: dev/lhecker/7539-key-bindings-cleanup


📝 Commits (3)

  • 2b8cac5 Clean up KeyChordSerialization
  • 86fbf9e Lazy initialize key chord maps
  • 636d42c Address reviewer comments

📊 Changes

6 files changed (+326 additions, -205 deletions)

View changed files

📝 .github/actions/spelling/allow/apis.txt (+2 -0)
📝 .github/actions/spelling/expect/expect.txt (+5 -0)
📝 src/cascadia/TerminalSettingsModel/KeyChordSerialization.cpp (+140 -190)
📝 src/inc/til/static_map.h (+1 -1)
📝 src/inc/til/string.h (+109 -12)
📝 src/til/ut_til/string.cpp (+69 -2)

📄 Description

This commit is a preparation for upcoming changes to
KeyChordSerialization for #7539 and #10203. It introduces several
string helpers to simplify key chord parsing and get rid of our implicit
dependency on locale sensitive functions, which are known to behave
erratically.

Additionally key chord serialization used to depend on iteration order
of a hashmap which caused different strings to be returned for the same
key chord. This commit fixes the iteration order and will always return
the same string.

Validation Steps Performed

  • Key bindings are correctly parsed ✔️
  • Key bindings are correctly serialized ❔

🔄 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/10654 **Author:** [@lhecker](https://github.com/lhecker) **Created:** 7/14/2021 **Status:** ✅ Merged **Merged:** 7/14/2021 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `dev/lhecker/7539-key-bindings-cleanup` --- ### 📝 Commits (3) - [`2b8cac5`](https://github.com/microsoft/terminal/commit/2b8cac55cf4eda4fdede4572e788897964a47043) Clean up KeyChordSerialization - [`86fbf9e`](https://github.com/microsoft/terminal/commit/86fbf9e10a7ebc040a2a974dce27127c5b66314e) Lazy initialize key chord maps - [`636d42c`](https://github.com/microsoft/terminal/commit/636d42cff6dc02ecfd73ca5e9919ccc241267b8d) Address reviewer comments ### 📊 Changes **6 files changed** (+326 additions, -205 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/spelling/allow/apis.txt` (+2 -0) 📝 `.github/actions/spelling/expect/expect.txt` (+5 -0) 📝 `src/cascadia/TerminalSettingsModel/KeyChordSerialization.cpp` (+140 -190) 📝 `src/inc/til/static_map.h` (+1 -1) 📝 `src/inc/til/string.h` (+109 -12) 📝 `src/til/ut_til/string.cpp` (+69 -2) </details> ### 📄 Description This commit is a preparation for upcoming changes to KeyChordSerialization for #7539 and #10203. It introduces several string helpers to simplify key chord parsing and get rid of our implicit dependency on locale sensitive functions, which are known to behave erratically. Additionally key chord serialization used to depend on iteration order of a hashmap which caused different strings to be returned for the same key chord. This commit fixes the iteration order and will always return the same string. ## Validation Steps Performed * Key bindings are correctly parsed ✔️ * Key bindings are correctly serialized ❔ --- <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:26:44 +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#28165