Files
dev/third_party/pi/packages/coding-agent/schemas/keybindings.schema.json
alexion 6081e3e325 chore(vendor): import pi 1.3.0
Imported as a linear vendor commit so forge rebases do not replay the upstream root tree.

git-subtree-dir: third_party/pi

git-subtree-split: 71023aec1546d6d677a65669c5665c0927ce0dd0
2026-10-15 17:58:48 -04:00

394 lines
12 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://pi.dev/schemas/keybindings.schema.json",
"$comment": "This file is generated from TypeScript source. Do not edit it manually; run npm run generate:schemas.",
"type": "object",
"properties": {
"$schema": {
"type": "string"
},
"tui.editor.cursorUp": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move cursor up"
},
"tui.editor.cursorDown": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move cursor down"
},
"tui.editor.historyPrevious": {
"$ref": "#/$defs/KeybindingValue",
"description": "Select previous prompt history entry"
},
"tui.editor.historyNext": {
"$ref": "#/$defs/KeybindingValue",
"description": "Select next prompt history entry"
},
"tui.editor.cursorLeft": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move cursor left"
},
"tui.editor.cursorRight": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move cursor right"
},
"tui.editor.cursorWordLeft": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move cursor word left"
},
"tui.editor.cursorWordRight": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move cursor word right"
},
"tui.editor.cursorLineStart": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move to line start"
},
"tui.editor.cursorLineEnd": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move to line end"
},
"tui.editor.jumpForward": {
"$ref": "#/$defs/KeybindingValue",
"description": "Jump forward to character"
},
"tui.editor.jumpBackward": {
"$ref": "#/$defs/KeybindingValue",
"description": "Jump backward to character"
},
"tui.editor.pageUp": {
"$ref": "#/$defs/KeybindingValue",
"description": "Page up"
},
"tui.editor.pageDown": {
"$ref": "#/$defs/KeybindingValue",
"description": "Page down"
},
"tui.editor.deleteCharBackward": {
"$ref": "#/$defs/KeybindingValue",
"description": "Delete character backward"
},
"tui.editor.deleteCharForward": {
"$ref": "#/$defs/KeybindingValue",
"description": "Delete character forward"
},
"tui.editor.deleteWordBackward": {
"$ref": "#/$defs/KeybindingValue",
"description": "Delete word backward"
},
"tui.editor.deleteWordForward": {
"$ref": "#/$defs/KeybindingValue",
"description": "Delete word forward"
},
"tui.editor.deleteToLineStart": {
"$ref": "#/$defs/KeybindingValue",
"description": "Delete to line start"
},
"tui.editor.deleteToLineEnd": {
"$ref": "#/$defs/KeybindingValue",
"description": "Delete to line end"
},
"tui.editor.yank": {
"$ref": "#/$defs/KeybindingValue",
"description": "Yank"
},
"tui.editor.yankPop": {
"$ref": "#/$defs/KeybindingValue",
"description": "Yank pop"
},
"tui.editor.undo": {
"$ref": "#/$defs/KeybindingValue",
"description": "Undo"
},
"tui.input.newLine": {
"$ref": "#/$defs/KeybindingValue",
"description": "Insert newline"
},
"tui.input.submit": {
"$ref": "#/$defs/KeybindingValue",
"description": "Submit input"
},
"tui.input.tab": {
"$ref": "#/$defs/KeybindingValue",
"description": "Tab / autocomplete"
},
"tui.input.copy": {
"$ref": "#/$defs/KeybindingValue",
"description": "Copy selection"
},
"tui.select.up": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move selection up"
},
"tui.select.down": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move selection down"
},
"tui.select.pageUp": {
"$ref": "#/$defs/KeybindingValue",
"description": "Selection page up"
},
"tui.select.pageDown": {
"$ref": "#/$defs/KeybindingValue",
"description": "Selection page down"
},
"tui.select.confirm": {
"$ref": "#/$defs/KeybindingValue",
"description": "Confirm selection"
},
"tui.select.cancel": {
"$ref": "#/$defs/KeybindingValue",
"description": "Cancel selection"
},
"tui.altScreen.pageUp": {
"$ref": "#/$defs/KeybindingValue",
"description": "Scroll viewport up one page"
},
"tui.altScreen.pageDown": {
"$ref": "#/$defs/KeybindingValue",
"description": "Scroll viewport down one page"
},
"tui.altScreen.halfPageUp": {
"$ref": "#/$defs/KeybindingValue",
"description": "Scroll viewport up half a page"
},
"tui.altScreen.halfPageDown": {
"$ref": "#/$defs/KeybindingValue",
"description": "Scroll viewport down half a page"
},
"tui.altScreen.lineUp": {
"$ref": "#/$defs/KeybindingValue",
"description": "Scroll viewport up one line"
},
"tui.altScreen.lineDown": {
"$ref": "#/$defs/KeybindingValue",
"description": "Scroll viewport down one line"
},
"tui.altScreen.previousPrompt": {
"$ref": "#/$defs/KeybindingValue",
"description": "Jump to previous semantic prompt"
},
"tui.altScreen.nextPrompt": {
"$ref": "#/$defs/KeybindingValue",
"description": "Jump to next semantic prompt"
},
"tui.altScreen.search": {
"$ref": "#/$defs/KeybindingValue",
"description": "Search the primary scroll view"
},
"tui.altScreen.searchNext": {
"$ref": "#/$defs/KeybindingValue",
"description": "Select the next search match"
},
"tui.altScreen.searchPrevious": {
"$ref": "#/$defs/KeybindingValue",
"description": "Select the previous search match"
},
"tui.altScreen.searchClose": {
"$ref": "#/$defs/KeybindingValue",
"description": "Close transcript search"
},
"tui.altScreen.top": {
"$ref": "#/$defs/KeybindingValue",
"description": "Scroll viewport to top"
},
"tui.altScreen.bottom": {
"$ref": "#/$defs/KeybindingValue",
"description": "Scroll viewport to bottom"
},
"app.interrupt": {
"$ref": "#/$defs/KeybindingValue",
"description": "Cancel or abort"
},
"app.clear": {
"$ref": "#/$defs/KeybindingValue",
"description": "Clear editor"
},
"app.exit": {
"$ref": "#/$defs/KeybindingValue",
"description": "Exit when editor is empty"
},
"app.suspend": {
"$ref": "#/$defs/KeybindingValue",
"description": "Suspend to background"
},
"app.thinking.cycle": {
"$ref": "#/$defs/KeybindingValue",
"description": "Cycle thinking level"
},
"app.thinking.save": {
"$ref": "#/$defs/KeybindingValue",
"description": "Save thinking level"
},
"app.model.cycleForward": {
"$ref": "#/$defs/KeybindingValue",
"description": "Cycle to next model"
},
"app.model.cycleBackward": {
"$ref": "#/$defs/KeybindingValue",
"description": "Cycle to previous model"
},
"app.model.select": {
"$ref": "#/$defs/KeybindingValue",
"description": "Open model selector"
},
"app.tools.expand": {
"$ref": "#/$defs/KeybindingValue",
"description": "Toggle tool output"
},
"app.thinking.toggle": {
"$ref": "#/$defs/KeybindingValue",
"description": "Toggle thinking blocks"
},
"app.session.toggleNamedFilter": {
"$ref": "#/$defs/KeybindingValue",
"description": "Toggle named session filter"
},
"app.editor.external": {
"$ref": "#/$defs/KeybindingValue",
"description": "Open external editor"
},
"app.message.copy": {
"$ref": "#/$defs/KeybindingValue",
"description": "Copy selection or last assistant message"
},
"app.message.followUp": {
"$ref": "#/$defs/KeybindingValue",
"description": "Queue follow-up message"
},
"app.message.dequeue": {
"$ref": "#/$defs/KeybindingValue",
"description": "Restore queued messages"
},
"app.clipboard.pasteImage": {
"$ref": "#/$defs/KeybindingValue",
"description": "Paste files on macOS, images, or text from clipboard"
},
"app.session.new": {
"$ref": "#/$defs/KeybindingValue",
"description": "Start a new session"
},
"app.session.tree": {
"$ref": "#/$defs/KeybindingValue",
"description": "Open session tree"
},
"app.session.fork": {
"$ref": "#/$defs/KeybindingValue",
"description": "Fork current session"
},
"app.session.resume": {
"$ref": "#/$defs/KeybindingValue",
"description": "Resume a session"
},
"app.tree.foldOrUp": {
"$ref": "#/$defs/KeybindingValue",
"description": "Fold tree branch or move up"
},
"app.tree.unfoldOrDown": {
"$ref": "#/$defs/KeybindingValue",
"description": "Unfold tree branch or move down"
},
"app.tree.editLabel": {
"$ref": "#/$defs/KeybindingValue",
"description": "Edit tree label"
},
"app.tree.toggleLabelTimestamp": {
"$ref": "#/$defs/KeybindingValue",
"description": "Toggle tree label timestamps"
},
"app.session.togglePath": {
"$ref": "#/$defs/KeybindingValue",
"description": "Toggle session path display"
},
"app.session.toggleSort": {
"$ref": "#/$defs/KeybindingValue",
"description": "Toggle session sort mode"
},
"app.session.rename": {
"$ref": "#/$defs/KeybindingValue",
"description": "Rename session"
},
"app.session.delete": {
"$ref": "#/$defs/KeybindingValue",
"description": "Delete session"
},
"app.session.deleteNoninvasive": {
"$ref": "#/$defs/KeybindingValue",
"description": "Delete session when query is empty"
},
"app.models.save": {
"$ref": "#/$defs/KeybindingValue",
"description": "Save model selection"
},
"app.models.enableAll": {
"$ref": "#/$defs/KeybindingValue",
"description": "Enable all models"
},
"app.models.clearAll": {
"$ref": "#/$defs/KeybindingValue",
"description": "Clear all models"
},
"app.models.toggleProvider": {
"$ref": "#/$defs/KeybindingValue",
"description": "Toggle all models for provider"
},
"app.models.reorderUp": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move model up in order"
},
"app.models.reorderDown": {
"$ref": "#/$defs/KeybindingValue",
"description": "Move model down in order"
},
"app.tree.filter.default": {
"$ref": "#/$defs/KeybindingValue",
"description": "Tree filter: default view"
},
"app.tree.filter.noTools": {
"$ref": "#/$defs/KeybindingValue",
"description": "Tree filter: hide tool results"
},
"app.tree.filter.userOnly": {
"$ref": "#/$defs/KeybindingValue",
"description": "Tree filter: user messages only"
},
"app.tree.filter.labeledOnly": {
"$ref": "#/$defs/KeybindingValue",
"description": "Tree filter: labeled entries only"
},
"app.tree.filter.all": {
"$ref": "#/$defs/KeybindingValue",
"description": "Tree filter: show all entries"
},
"app.tree.filter.cycleForward": {
"$ref": "#/$defs/KeybindingValue",
"description": "Tree filter: cycle forward"
},
"app.tree.filter.cycleBackward": {
"$ref": "#/$defs/KeybindingValue",
"description": "Tree filter: cycle backward"
}
},
"additionalProperties": {
"$ref": "#/$defs/KeybindingValue"
},
"$defs": {
"KeybindingValue": {
"anyOf": [
{
"type": "string",
"pattern": "^(?!.*(?:ctrl\\+.*ctrl\\+|shift\\+.*shift\\+|alt\\+.*alt\\+|super\\+.*super\\+))(?:(?:ctrl|shift|alt|super)\\+){0,4}(?:[a-z0-9]|escape|esc|enter|return|tab|space|backspace|delete|insert|clear|home|end|pageUp|pageDown|up|down|left|right|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|`|-|=|\\[|\\]|\\\\|;|'|,|\\.|/|!|@|#|\\$|%|\\^|&|\\*|\\(|\\)|_|\\+|\\||~|\\{|\\}|:|<|>|\\?)$",
"description": "Key identifier with optional ctrl, shift, alt, or super modifiers."
},
{
"type": "array",
"items": {
"type": "string",
"pattern": "^(?!.*(?:ctrl\\+.*ctrl\\+|shift\\+.*shift\\+|alt\\+.*alt\\+|super\\+.*super\\+))(?:(?:ctrl|shift|alt|super)\\+){0,4}(?:[a-z0-9]|escape|esc|enter|return|tab|space|backspace|delete|insert|clear|home|end|pageUp|pageDown|up|down|left|right|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|`|-|=|\\[|\\]|\\\\|;|'|,|\\.|/|!|@|#|\\$|%|\\^|&|\\*|\\(|\\)|_|\\+|\\||~|\\{|\\}|:|<|>|\\?)$",
"description": "Key identifier with optional ctrl, shift, alt, or super modifiers."
}
}
]
}
}
}