This PR adds the ability to favorite models for external agents—writing to the settings in the `agent_servers` key—as well as a handful of other improvements: - Make the cycling keybinding `alt-enter` work for the inline assistant as well as previous user messages - Better organized the keybinding files removing some outdated agent-related keybinding definitions - Renamed the inline assistant key context to "InlineAssistant" as "PromptEditor" is old and confusing - Made the keybindings to rate an inline assistant response visible in the thumbs up/down button's tooltip - Created a unified component for the model selector tooltip given we had 3 different places creating the same element - Make the "Cycle Favorited Models" row in the tooltip visible only if there is more than one favorite models Release Notes: - agent: External agents also now support the favoriting model feature, which comes with a handy keybinding to cycle through the favorite list.
85 lines
2.7 KiB
JSON
85 lines
2.7 KiB
JSON
[
|
|
// Cursor for MacOS. See: https://docs.cursor.com/kbd
|
|
{
|
|
"context": "Workspace",
|
|
"use_key_equivalents": true,
|
|
"bindings": {
|
|
"ctrl-i": "agent::ToggleFocus",
|
|
"ctrl-shift-i": "agent::ToggleFocus",
|
|
"ctrl-l": "agent::ToggleFocus",
|
|
"ctrl-shift-l": "agent::ToggleFocus",
|
|
"ctrl-shift-j": "agent::OpenSettings",
|
|
},
|
|
},
|
|
{
|
|
"context": "Editor && mode == full",
|
|
"use_key_equivalents": true,
|
|
"bindings": {
|
|
"ctrl-i": "agent::ToggleFocus",
|
|
"ctrl-shift-i": "agent::ToggleFocus",
|
|
"ctrl-shift-l": "agent::AddSelectionToThread", // In cursor uses "Ask" mode
|
|
"ctrl-l": "agent::AddSelectionToThread", // In cursor uses "Agent" mode
|
|
"ctrl-k": "assistant::InlineAssist",
|
|
"ctrl-shift-k": "assistant::InsertIntoEditor",
|
|
},
|
|
},
|
|
{
|
|
"context": "InlineAssistant > Editor",
|
|
"use_key_equivalents": true,
|
|
"bindings": {
|
|
"ctrl-shift-backspace": "editor::Cancel",
|
|
// "alt-enter": // Quick Question
|
|
// "ctrl-shift-enter": // Full File Context
|
|
// "ctrl-shift-k": // Toggle input focus (editor <> inline assist)
|
|
},
|
|
},
|
|
{
|
|
"context": "AgentPanel || ContextEditor || (MessageEditor > Editor)",
|
|
"use_key_equivalents": true,
|
|
"bindings": {
|
|
"ctrl-i": "workspace::ToggleRightDock",
|
|
"ctrl-shift-i": "workspace::ToggleRightDock",
|
|
"ctrl-l": "workspace::ToggleRightDock",
|
|
"ctrl-shift-l": "workspace::ToggleRightDock",
|
|
"ctrl-w": "workspace::ToggleRightDock", // technically should close chat
|
|
"ctrl-.": "agent::ToggleProfileSelector",
|
|
"ctrl-/": "agent::ToggleModelSelector",
|
|
"ctrl-shift-backspace": "editor::Cancel",
|
|
"ctrl-r": "agent::NewThread",
|
|
"ctrl-shift-v": "editor::Paste",
|
|
"ctrl-shift-k": "assistant::InsertIntoEditor",
|
|
// "escape": "agent::ToggleFocus"
|
|
///// Enable when Zed supports multiple thread tabs
|
|
// "ctrl-t": // new thread tab
|
|
// "ctrl-[": // next thread tab
|
|
// "ctrl-]": // next thread tab
|
|
///// Enable if Zed adds support for keyboard navigation of thread elements
|
|
// "tab": // cycle to next message
|
|
// "shift-tab": // cycle to previous message
|
|
},
|
|
},
|
|
{
|
|
"context": "Editor && editor_agent_diff",
|
|
"use_key_equivalents": true,
|
|
"bindings": {
|
|
"ctrl-enter": "agent::KeepAll",
|
|
"ctrl-backspace": "agent::RejectAll",
|
|
},
|
|
},
|
|
{
|
|
"context": "Editor && mode == full && edit_prediction",
|
|
"use_key_equivalents": true,
|
|
"bindings": {
|
|
"ctrl-right": "editor::AcceptNextWordEditPrediction",
|
|
"ctrl-down": "editor::AcceptNextLineEditPrediction",
|
|
},
|
|
},
|
|
{
|
|
"context": "Terminal",
|
|
"use_key_equivalents": true,
|
|
"bindings": {
|
|
"ctrl-k": "assistant::InlineAssist",
|
|
},
|
|
},
|
|
]
|