pub struct RepoTab {Show 51 fields
pub repo_path: Option<PathBuf>,
pub repo_info: Option<RepoInfo>,
pub branches: Vec<BranchInfo>,
pub branch_list_state: ListState,
pub commits: Vec<CommitInfo>,
pub graph_rows: Vec<GraphRow>,
pub commit_list_state: ListState,
pub unstaged_changes: Vec<DiffInfo>,
pub staged_changes: Vec<DiffInfo>,
pub unstaged_list_state: ListState,
pub staged_list_state: ListState,
pub staging_focus: StagingFocus,
pub selected_diff: Option<DiffInfo>,
pub diff_scroll: u16,
pub diff_sub_pane: DiffSubPane,
pub anchor_file_index: Option<usize>,
pub selected_file_indices: HashSet<usize>,
pub commit_diffs: HashMap<usize, DiffInfo>,
pub commit_diff_file_index: usize,
pub commit_files: Vec<DiffFileEntry>,
pub selected_commit_oid: Option<String>,
pub stashes: Vec<StashEntry>,
pub stash_list_state: ListState,
pub remotes: Vec<RemoteInfo>,
pub search_query: String,
pub search_active: bool,
pub search_results: Vec<CommitInfo>,
pub stash_message_buffer: String,
pub status_message: Option<String>,
pub error_message: Option<String>,
pub is_loading: bool,
pub confirm_discard: bool,
pub selected_unstaged: HashSet<usize>,
pub selected_staged: HashSet<usize>,
pub anchor_unstaged: Option<usize>,
pub anchor_staged: Option<usize>,
pub anchor_commit_index: Option<usize>,
pub selected_commits: Vec<usize>,
pub commit_range_diffs: Vec<DiffInfo>,
pub commit_action_items: Vec<CommitActionKind>,
pub commit_action_cursor: usize,
pub pending_commit_action_oid: Option<String>,
pub pending_action_kind: Option<CommitActionKind>,
pub action_input1: String,
pub file_history_path: Option<String>,
pub file_history_commits: Vec<CommitInfo>,
pub file_history_cursor: usize,
pub blame_path: Option<String>,
pub blame_lines: Vec<BlameLine>,
pub blame_scroll: u16,
pub confirm_delete_file: Option<String>,
}Expand description
All state that belongs to a single repository tab.
Fields§
§repo_path: Option<PathBuf>§repo_info: Option<RepoInfo>§branches: Vec<BranchInfo>§branch_list_state: ListState§commits: Vec<CommitInfo>§graph_rows: Vec<GraphRow>§commit_list_state: ListState§unstaged_changes: Vec<DiffInfo>§staged_changes: Vec<DiffInfo>§unstaged_list_state: ListState§staged_list_state: ListState§staging_focus: StagingFocus§selected_diff: Option<DiffInfo>§diff_scroll: u16§diff_sub_pane: DiffSubPaneWhich half of the diff split pane has keyboard focus.
anchor_file_index: Option<usize>Anchor index for diff file list range selection (set on plain navigation).
selected_file_indices: HashSet<usize>File indices currently multi-selected in the diff file list.
commit_diffs: HashMap<usize, DiffInfo>Cache of per-file diffs keyed by file index (sparse — only loaded files are present).
commit_diff_file_index: usizeIndex of the currently selected file in commit_files.
commit_files: Vec<DiffFileEntry>Lightweight file list for the selected commit.
selected_commit_oid: Option<String>OID of the currently selected commit (for lazy file diff loading).
stashes: Vec<StashEntry>§stash_list_state: ListState§remotes: Vec<RemoteInfo>§search_query: StringSearch query for commit filtering.
search_active: boolWhether search mode is active.
search_results: Vec<CommitInfo>Search results (commits matching the query).
stash_message_buffer: StringOptional stash message (set via input mode before saving).
status_message: Option<String>§error_message: Option<String>§is_loading: boolTrue while a background task is in flight for this tab.
confirm_discard: boolWhen true, the next d press actually discards; otherwise the first d sets this flag and shows a confirmation prompt.
selected_unstaged: HashSet<usize>Selected unstaged file indices for multi-select.
selected_staged: HashSet<usize>Selected staged file indices for multi-select.
anchor_unstaged: Option<usize>Anchor index for unstaged range selection (set on plain j/k navigation).
anchor_staged: Option<usize>Anchor index for staged range selection (set on plain j/k navigation).
anchor_commit_index: Option<usize>Anchor commit index for range selection (Shift+Up/Down).
selected_commits: Vec<usize>Ordered ascending list of commit indices in the current range selection.
commit_range_diffs: Vec<DiffInfo>Combined diff for the current commit range selection.
commit_action_items: Vec<CommitActionKind>Flat ordered list of all action kinds shown in the popup (built from
COMMIT_MENU_GROUPS, separator positions stored separately).
commit_action_cursor: usizeWhich item in commit_action_items is highlighted (0-based).
pending_commit_action_oid: Option<String>OID of the commit targeted by the open action popup.
pending_action_kind: Option<CommitActionKind>Action kind waiting for user input before it can execute.
action_input1: StringFirst input collected for the pending action (e.g. branch/tag name).
file_history_path: Option<String>When Some(path), the file-history overlay is visible for that path.
file_history_commits: Vec<CommitInfo>Commits that touch the file in the history overlay (newest first).
file_history_cursor: usizeWhich commit row is highlighted in the history overlay (0-based).
blame_path: Option<String>When Some(path), the blame overlay is visible for that path.
blame_lines: Vec<BlameLine>Blame lines for the current blame overlay.
blame_scroll: u16Scroll offset for the blame overlay (rows from top).
confirm_delete_file: Option<String>When Some(path), show a delete-confirmation prompt for that path.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RepoTab
impl RefUnwindSafe for RepoTab
impl Send for RepoTab
impl Sync for RepoTab
impl Unpin for RepoTab
impl UnsafeUnpin for RepoTab
impl UnwindSafe for RepoTab
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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