pub enum AppAction {
Show 14 variants
Handled,
Quit,
ReloadCommits,
PrepareSplit {
strategy: SplitStrategy,
commit_oid: String,
},
ExecuteSplit {
strategy: SplitStrategy,
commit_oid: String,
head_oid: String,
},
PrepareDropConfirm {
commit_oid: String,
commit_summary: String,
},
ExecuteDrop {
commit_oid: String,
head_oid: String,
},
RebaseContinue(ConflictState),
RebaseAbort(ConflictState),
RunMergetool {
files: Vec<String>,
conflict_state: ConflictState,
},
RunEditor {
files: Vec<String>,
conflict_state: ConflictState,
},
PrepareReword {
commit_oid: String,
current_message: String,
},
PrepareSquash {
source_oid: String,
target_oid: String,
source_message: String,
target_message: String,
is_fixup: bool,
},
ExecuteMove {
source_oid: String,
insert_after_oid: String,
},
}Expand description
Result of a view module’s handle_key function.
Pure state mutations (scroll, selection, mode transitions) are applied
directly to AppState inside the handler. Side effects that require git
operations or terminal access are returned here for main.rs to execute.
Variants§
Handled
Fully handled, no side effects needed.
Quit
The application should quit.
ReloadCommits
Reload commits from the repository.
PrepareSplit
Begin the split flow: get head_oid, count results, confirm if large.
ExecuteSplit
Execute a split that has already been confirmed.
PrepareDropConfirm
Begin the drop flow: get head_oid from repo, then show confirmation.
ExecuteDrop
Execute a confirmed drop.
RebaseContinue(ConflictState)
Continue a rebase after the user resolved merge conflicts.
RebaseAbort(ConflictState)
Abort a rebase that hit conflicts.
RunMergetool
Launch the merge tool for conflicting files.
RunEditor
Open conflicting files in the configured editor.
PrepareReword
Start the reword flow: get head_oid, launch editor, rewrite commit.
PrepareSquash
Start the squash/fixup flow: user picked source and target.
When is_fixup is true the target’s message is kept as-is (no editor).
Fields
ExecuteMove
Execute a confirmed move: reorder the source commit to after insert_after_oid.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AppAction
impl RefUnwindSafe for AppAction
impl Send for AppAction
impl Sync for AppAction
impl Unpin for AppAction
impl UnsafeUnpin for AppAction
impl UnwindSafe for AppAction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more