[PR #3892] [MERGED] Add support for "User Default" settings II #25542

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/3892
Author: @zadjii-msft
Created: 12/9/2019
Status: Merged
Merged: 12/11/2019
Merged by: @undefined

Base: masterHead: dev/migrie/f/2325-objectifying-settings


📝 Commits (7)

  • 45c6af3 Well that was easy
  • 2e87970 Port the test over to the new syntax too
  • de6735b Update the docs too
  • a35d6ee Apply suggestions from code review
  • 6ea24e5 Merge remote-tracking branch 'origin/master' into dev/migrie/f/2325-objectifying-settings
  • fa9c643 format these font names I suppose
  • e0f242f Merge branch 'dev/migrie/f/2325-objectifying-settings' of https://github.com/Microsoft/Terminal into dev/migrie/f/2325-objectifying-settings

📊 Changes

5 files changed (+714 additions, -275 deletions)

View changed files

📝 doc/cascadia/profiles.schema.json (+299 -273)
📝 doc/user-docs/UsingJsonSettings.md (+113 -0)
📝 src/cascadia/LocalTests_TerminalApp/SettingsTests.cpp (+235 -0)
📝 src/cascadia/TerminalApp/CascadiaSettings.h (+3 -0)
📝 src/cascadia/TerminalApp/CascadiaSettingsSerialization.cpp (+64 -2)

📄 Description

Summary of the Pull Request

This is attempt 2 at this feature. The original PR can be found at #3369.

These are settings that apply to every profile, before user customizations.

If the user wants to add "default profile settings", they can make the "profiles" property an object, instead of a list, and add "defaults" key underneath that object. The users list of profiles should then be under the list property of the profiles object.

References

#2515, #2603, #3369, #3569

PR Checklist

Detailed Description of the Pull Request / Additional comments

Discussion in #2325 itself serves as the "spec" for this task. I thought we'd need more discussion on the topic, but it ended up being pretty straightforward.

I should not have said that in the original PR. We've had a better spec review now that I think we're happier with.

Validation Steps Performed

ran the tests


🔄 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/3892 **Author:** [@zadjii-msft](https://github.com/zadjii-msft) **Created:** 12/9/2019 **Status:** ✅ Merged **Merged:** 12/11/2019 **Merged by:** [@undefined](undefined) **Base:** `master` ← **Head:** `dev/migrie/f/2325-objectifying-settings` --- ### 📝 Commits (7) - [`45c6af3`](https://github.com/microsoft/terminal/commit/45c6af378b142df12d294036d5b8fdcfd5e04f8f) Well that was easy - [`2e87970`](https://github.com/microsoft/terminal/commit/2e87970accf36a04f71eaafaca6a400dee68b7c9) Port the test over to the new syntax too - [`de6735b`](https://github.com/microsoft/terminal/commit/de6735b5ad0d5b035e29aed4690a6cca41b9fa22) Update the docs too - [`a35d6ee`](https://github.com/microsoft/terminal/commit/a35d6ee841efcc60998f503a1cb9374b9670db63) Apply suggestions from code review - [`6ea24e5`](https://github.com/microsoft/terminal/commit/6ea24e52c5607cbd56cca8907dccc774ff08ef4a) Merge remote-tracking branch 'origin/master' into dev/migrie/f/2325-objectifying-settings - [`fa9c643`](https://github.com/microsoft/terminal/commit/fa9c64320c452b9e3f351b3f18523ae1f6e4efed) format these font names I suppose - [`e0f242f`](https://github.com/microsoft/terminal/commit/e0f242f93feb970dfc8404e656c66cb6810c4ef4) Merge branch 'dev/migrie/f/2325-objectifying-settings' of https://github.com/Microsoft/Terminal into dev/migrie/f/2325-objectifying-settings ### 📊 Changes **5 files changed** (+714 additions, -275 deletions) <details> <summary>View changed files</summary> 📝 `doc/cascadia/profiles.schema.json` (+299 -273) 📝 `doc/user-docs/UsingJsonSettings.md` (+113 -0) 📝 `src/cascadia/LocalTests_TerminalApp/SettingsTests.cpp` (+235 -0) 📝 `src/cascadia/TerminalApp/CascadiaSettings.h` (+3 -0) 📝 `src/cascadia/TerminalApp/CascadiaSettingsSerialization.cpp` (+64 -2) </details> ### 📄 Description ## Summary of the Pull Request _This is attempt 2 at this feature_. The original PR can be found at #3369. These are settings that apply to _every_ profile, before user customizations. If the user wants to add "default profile settings", they can make the `"profiles"` property an _object_, instead of a list, and add `"defaults"` key underneath that object. The users list of profiles should then be under the `list` property of the `profiles` object. ## References #2515, #2603, #3369, #3569 ## PR Checklist * [x] Closes #2325 * [x] I work here * [x] Tests added/passed * [x] schema, docs updated ## Detailed Description of the Pull Request / Additional comments ~~Discussion in #2325 itself serves as the "spec" for this task. I thought we'd need more discussion on the topic, but it ended up being pretty straightforward.~~ I should not have said that in the original PR. We've had a better spec review now that I think we're happier with. ## Validation Steps Performed _ran the tests_ --- <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:10:12 +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#25542