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
394 lines
12 KiB
JSON
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."
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|