mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-09 05:08:28 +08:00
Currently, ShortcutRegistry allows multiple shortcuts to be stored within the same binding in a module.json, e.g. `"shortcut": "F8 Ctrl+\\"` creates two shortcuts, one on F8 and another on Ctrl+\. When multi-keypress shortcuts/chords are added in the future, they'll use the same format such that the above example would be interpreted as a single shortcut bound to the F8 Ctrl+\ sequence. In order to allow that, it's necessary to split up all of the existing shortcuts that are stored in space-delimited strings so that they'll continue to function as expected. This CL also updates the module.schema.json to disallow spaces in shortcuts, a restriction that will be removed once multi-keypress shortcuts are implemented. Custom keyboard shortcuts design doc: https://docs.google.com/document/d/1oOPSWPxCHvMoBZ0Fw9jwFZt6gP4lrsrsl8DEAp-Hy7o/edit#heading=h.2xpjzz3fl1ju Bug: 174309 Change-Id: I853f9918ad2892b2f4c4f3aec53013d7a6455f67 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2123807 Reviewed-by: Robert Paveza <Rob.Paveza@microsoft.com> Reviewed-by: Vidal Diazleal <vidorteg@microsoft.com> Commit-Queue: Jack Lynch <jalyn@microsoft.com>
100 lines
2.1 KiB
JSON
100 lines
2.1 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"extensions": {
|
|
"type": "array",
|
|
"description": "Extension points",
|
|
"items": {
|
|
"properties": {
|
|
"type": {"type": "string"},
|
|
"order": {"type": "number"},
|
|
"title": {"type": "string"},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"properties": {
|
|
"title": {"type": "string"},
|
|
"category": {"type": "string"}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"if": {
|
|
"properties": {"type": {"const": "action"}}
|
|
},
|
|
"then": {
|
|
"properties": {
|
|
"bindings": {
|
|
"type": "array",
|
|
"items": {
|
|
"required": ["shortcut"],
|
|
"properties": {
|
|
"shortcut": {
|
|
"type": "string",
|
|
"pattern": "^[^ ]+$"
|
|
},
|
|
"platform": {"type": "string"}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"anyOf": [
|
|
{
|
|
"required": ["title"]
|
|
},
|
|
{
|
|
"required": ["options"],
|
|
"properties": {
|
|
"options": {
|
|
"minItems": 1,
|
|
"items": {
|
|
"required": ["title"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"required": ["category"]
|
|
}
|
|
}
|
|
},
|
|
"dependencies": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"scripts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"modules": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"resources": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"skip_compilation": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"experiment": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"definitions": {
|
|
}
|
|
}
|