[PR #19332] Fix terminal profile schema to allow null in keybinding id #31806

Closed
opened 2026-01-31 09:49:41 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/19332

State: closed
Merged: Yes


feat(doc/cascadia/profiles.schema.json): extend the “id” property to accept null so default keybindings can be disabled

Summary of the Pull Request

Fixes the terminal profile jsonschema to allow for null in the id. This is to match the current implementation when disabling a built in default keybind.

References and Relevant Issues

I didnt submit an issue on this as the fix is less lines of code change than even filing a new defecct. But I can if you want me to.

Detailed Description of the Pull Request / Additional comments

Simply adding an oneOf and allowing a null type

Validation Steps Performed

I tested that this no longer generates schema violation errors when keybindings are set to null and using an editor like vscode or neovim to edit the settings.json file

I looked thru the code base but didnt find an explicit tests for confirming json schema validation of the settings.json file. There are tests that look to do roundtrip validation of writing to json and reading back.

PR Checklist

  • [] Closes #xxx
  • Tests added/passed
  • Documentation updated
    • If checked, please file a pull request on our docs repo and link it here: #xxx
  • Schema updated (if necessary)
**Original Pull Request:** https://github.com/microsoft/terminal/pull/19332 **State:** closed **Merged:** Yes --- feat(doc/cascadia/profiles.schema.json): ✨ extend the “id” property to accept null so default keybindings can be disabled ## Summary of the Pull Request Fixes the terminal profile jsonschema to allow for null in the id. This is to match the current implementation when disabling a built in default keybind. ## References and Relevant Issues I didnt submit an issue on this as the fix is less lines of code change than even filing a new defecct. But I can if you want me to. ## Detailed Description of the Pull Request / Additional comments Simply adding an oneOf and allowing a null type ## Validation Steps Performed I tested that this no longer generates schema violation errors when keybindings are set to null and using an editor like vscode or neovim to edit the settings.json file I looked thru the code base but didnt find an explicit tests for confirming json schema validation of the settings.json file. There are tests that look to do roundtrip validation of writing to json and reading back. ## PR Checklist - [] Closes #xxx - [ ] Tests added/passed - [ ] Documentation updated - If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx - [X] Schema updated (if necessary)
claunia added the pull-request label 2026-01-31 09:49:41 +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#31806