use crossterm::event::KeyEvent;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum QuitCombo {
CtrlC,
CtrlD,
}
impl QuitCombo {
pub fn label(self) -> &'static str {
match self {
Self::CtrlC => "Ctrl+C",
Self::CtrlD => "Ctrl+D",
}
}
}
use crate::state::annotation_state::{Annotation, AnnotationCategory, AnnotationSeverity};
#[derive(Debug, Clone)]
pub enum Action {
#[allow(dead_code)]
Quit,
ConfirmQuitSignal(QuitCombo),
Tick,
NavigatorUp,
NavigatorDown,
NavigatorTop,
NavigatorBottom,
SelectFile(usize),
ScrollUp,
ScrollDown,
ScrollToTop,
ScrollToBottom,
ScrollPageUp,
ScrollPageDown,
ToggleViewMode,
ToggleWhitespace,
ExpandContext,
JumpNextHunk,
JumpPrevHunk,
FocusDiffView,
FocusPaneLeft,
FocusPaneRight,
CycleFocus,
WindowPrefix,
StartSearch,
ConfirmSearch,
CancelSearch,
SearchChar(char),
SearchBackspace,
StartDiffSearch,
EndDiffSearch,
DiffSearchChar(char),
DiffSearchBackspace,
DiffSearchNext,
DiffSearchPrev,
StartGlobalSearch,
EndGlobalSearch,
GlobalSearchChar(char),
GlobalSearchBackspace,
GlobalSearchNext,
GlobalSearchPrev,
StageFile,
UnstageFile,
RestoreFile,
OpenCommitDialog,
ConfirmCommit,
CancelCommit,
CommitChar(char),
CommitBackspace,
CommitNewline,
ConfirmRestore,
CancelRestore,
OpenTargetDialog,
ConfirmTarget,
CancelTarget,
TargetChar(char),
TargetBackspace,
ToggleWorktreeBrowser,
WorktreeUp,
WorktreeDown,
WorktreeSelect,
WorktreeRefresh,
WorktreeFreeze,
WorktreeBack,
EnterVisualMode,
ExitVisualMode,
ExtendSelectionUp,
ExtendSelectionDown,
OpenCommentEditor,
ConfirmComment,
CancelComment,
CommentChar(char),
CommentBackspace,
CommentNewline,
SelectCategory(AnnotationCategory),
SelectSeverity(AnnotationSeverity),
CancelCategoryPicker,
CategoryPickerDefault,
DeleteAnnotation,
NextAnnotation,
PrevAnnotation,
OpenAnnotationMenu,
AnnotationMenuUp,
AnnotationMenuDown,
AnnotationMenuEdit,
AnnotationMenuDelete,
CancelAnnotationMenu,
CopyPromptToClipboard,
TogglePromptPreview,
SetLineScore(u8),
RemoveLineScore,
OpenAgentSelector,
AgentSelectorUp,
AgentSelectorDown,
AgentSelectorFilter(char),
AgentSelectorBackspace,
AgentSelectorCycleModel,
SelectAgent,
CancelAgentSelector,
SwitchToAgentOutputs,
AgentOutputsUp,
AgentOutputsDown,
AgentOutputsCopyPrompt,
KillAgentProcess,
AgentOutputsSwitchWorktree,
PtyInput(KeyEvent),
PtyPaste(String),
PtyScrollUp,
PtyScrollDown,
TextPaste(String),
ToggleFileReviewed,
NextUnreviewed,
RefreshDiff,
OpenInEditor,
#[allow(dead_code)]
ToggleHud,
ToggleWhichKey,
OpenSettings,
CloseSettings,
SettingsUp,
SettingsDown,
SettingsLeft,
SettingsRight,
ToggleFeedbackSummary,
FeedbackSummaryUp,
FeedbackSummaryDown,
FeedbackSummaryCopyJson,
FeedbackSummaryCopyPrompt,
ExportFeedback,
TextCursorLeft,
TextCursorRight,
TextCursorHome,
TextCursorEnd,
TextDeleteWord,
Resize,
ToggleChecklist, ChecklistUp, ChecklistDown,
ChecklistToggleItem, ChecklistAddNote,
ToggleTreeView,
TreeToggleCollapse,
TreeCollapseAll,
TreeExpandAll,
ToggleBookmark,
ToggleBookmarkList,
NextBookmark,
PrevBookmark,
SetNamedBookmark(char),
JumpToNamedBookmark(char),
BookmarkListUp,
BookmarkListDown,
BookmarkListSelect,
BookmarkListDelete,
OpenCommandBar,
CommandBarChar(char),
CommandBarBackspace,
CommandBarConfirm,
CommandBarCancel,
GoToLine(u32),
OpenFilePicker,
FilePickerChar(char),
FilePickerBackspace,
FilePickerUp,
FilePickerDown,
FilePickerConfirm,
FilePickerCancel,
OpenAgenticReview,
AgenticReviewChar(char),
AgenticReviewBackspace,
AgenticReviewNewline,
AgenticReviewConfirm,
ToggleAgenticReviewPanel,
AgenticReviewStreamToken(String),
AgenticReviewChildProgress(usize, usize),
AgenticReviewComplete(Vec<Annotation>),
AgenticReviewError(String),
AgenticReviewPanelUp,
AgenticReviewPanelDown,
}