Fix terminal profile schema to allow null in keybinding id#19332
Merged
DHowett merged 1 commit intomicrosoft:mainfrom Sep 11, 2025
Merged
Fix terminal profile schema to allow null in keybinding id#19332DHowett merged 1 commit intomicrosoft:mainfrom
DHowett merged 1 commit intomicrosoft:mainfrom
Conversation
feat(doc/cascadia/profiles.schema.json): ✨ extend the “id” property to accept null so default keybindings can be disabled
There was a problem hiding this comment.
Pull Request Overview
This PR fixes the JSON schema for Windows Terminal keybindings to properly support disabling default keybindings by allowing null values in the "id" property. This aligns the schema validation with the existing implementation behavior.
- Updates the keybinding "id" property schema to accept both string and null types
- Improves the description to clarify that null values can be used to disable default keybindings
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Member
|
/azp run |
|
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
DHowett
pushed a commit
that referenced
this pull request
Sep 16, 2025
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. (cherry picked from commit eb16eb2) Service-Card-Id: PVTI_lADOAF3p4s4AxadtzgemwL4 Service-Version: 1.23
DHowett
pushed a commit
that referenced
this pull request
Sep 16, 2025
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. (cherry picked from commit eb16eb2) Service-Card-Id: PVTI_lADOAF3p4s4BBcTlzgemwL0 Service-Version: 1.24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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