pub enum Command {
Show 51 variants
Action(Action),
FocusNext,
FocusPrev,
GrowSidebar,
ShrinkSidebar,
GrowBottom,
ShrinkBottom,
OpenPalette,
CloseOverlay,
Quit,
ExplorerNext,
ExplorerPrev,
ExplorerToggle,
ExplorerCollapseOrParent,
EditorCursorLeft,
EditorCursorRight,
EditorCursorUp,
EditorCursorDown,
EditorLineStart,
EditorLineEnd,
EditorInsertNewline,
EditorBackspace,
EditorDeleteForward,
EditorUndo,
EditorRedo,
EditorFind,
EditorFindNext,
EditorFindPrev,
EditorReplace,
EditorNextTab,
EditorPrevTab,
EditorCloseTab,
TerminalCopyLeft,
TerminalCopyRight,
TerminalCopyUp,
TerminalCopyDown,
TerminalCopyExtendLeft,
TerminalCopyExtendRight,
TerminalCopyExtendUp,
TerminalCopyExtendDown,
TerminalCopyPageUp,
TerminalCopyPageDown,
TerminalCopyConfirm,
TerminalCopyCancel,
TerminalScrollUp,
TerminalScrollDown,
AgentScrollUp,
AgentScrollDown,
AgentAllowOnce,
AgentAllowAlways,
AgentDeny,
}Expand description
Everything the shell can be told to do. The keymap maps a input::KeyChord to one
of these, and the palette dispatches Command::Action — one dispatch path for
keyboard and palette alike (ARCHITECTURE.md §3, §7.1).
The agent does not dispatch these. ADR-0009 found that stable ACP has no portable way for a client to register its own tools, so the agent’s reach into the workspace is the context it is given and the permission-gated operations ACP itself defines — not this enum.
Variants§
Action(Action)
Invoke a registry action (feature-level; shown in the palette).
FocusNext
FocusPrev
GrowSidebar
ShrinkSidebar
GrowBottom
ShrinkBottom
OpenPalette
CloseOverlay
Quit
ExplorerNext
Move the file-explorer selection down one visible row.
ExplorerPrev
Move the file-explorer selection up one visible row.
ExplorerToggle
Expand or collapse the selected directory.
ExplorerCollapseOrParent
Collapse the selection, or step to its parent when already collapsed.
EditorCursorLeft
EditorCursorRight
EditorCursorUp
EditorCursorDown
EditorLineStart
EditorLineEnd
EditorInsertNewline
EditorBackspace
Delete backwards from the cursor, or the selection if there is one.
EditorDeleteForward
Delete forwards from the cursor.
EditorUndo
EditorRedo
EditorFind
EditorFindNext
EditorFindPrev
EditorReplace
EditorNextTab
EditorPrevTab
EditorCloseTab
TerminalCopyLeft
TerminalCopyRight
TerminalCopyUp
TerminalCopyDown
TerminalCopyExtendLeft
TerminalCopyExtendRight
TerminalCopyExtendUp
TerminalCopyExtendDown
TerminalCopyPageUp
TerminalCopyPageDown
TerminalCopyConfirm
TerminalCopyCancel
TerminalScrollUp
Move the terminal viewport back through scrollback, without entering copy mode.
A command rather than an action, for the same reason the agent’s scroll is: it moves a viewport, it is not a standing capability. Copy mode selects text and takes over the keyboard to do it; reading what just scrolled past should not require either.
TerminalScrollDown
AgentScrollUp
Scroll the agent transcript back through older turns.
AgentScrollDown
AgentAllowOnce
AgentAllowAlways
AgentDeny
Implementations§
Source§impl Command
impl Command
Sourcepub fn is_pane_focus(&self) -> bool
pub fn is_pane_focus(&self) -> bool
Whether this moves focus to one named pane.
These are the only commands a focused terminal still honours. It swallows every
other chord so the shell gets a real keyboard (ADR-0008 §3) — which is also why
the Terminal cannot sit in the FocusNext ring: it would capture the very Tab
that is supposed to carry you out of it, making the pane a one-way door.