Skip to main content

App

Struct App 

Source
pub struct App {
Show 44 fields pub should_quit: bool, pub screen: Screen, pub screen_stack: Vec<Screen>, pub config: Config, pub workspaces: Vec<WorkspaceConfig>, pub active_workspace: Option<WorkspaceConfig>, pub workspace_index: usize, pub workspace_pane: WorkspacePane, pub base_path: Option<PathBuf>, pub repos_by_org: HashMap<String, Vec<OwnedRepo>>, pub all_repos: Vec<OwnedRepo>, pub orgs: Vec<String>, pub local_repos: Vec<RepoEntry>, pub operation_state: OperationState, pub log_lines: Vec<String>, pub repo_index: usize, pub scroll_offset: usize, pub filter_text: String, pub filter_active: bool, pub dry_run: bool, pub error_message: Option<String>, pub check_results: Vec<CheckEntry>, pub checks_loading: bool, pub sync_pull: bool, pub setup_state: Option<SetupState>, pub status_loading: bool, pub last_status_scan: Option<Instant>, pub stat_index: usize, pub dashboard_table_state: TableState, pub settings_index: usize, pub settings_config_expanded: bool, pub workspace_detail_scroll: u16, pub tick_count: u64, pub sync_log_entries: Vec<SyncLogEntry>, pub log_filter: LogFilter, pub sync_history: Vec<SyncHistoryEntry>, pub show_sync_history: bool, pub expanded_repo: Option<String>, pub repo_commits: Vec<String>, pub sync_log_index: usize, pub changelog_commits: HashMap<String, Vec<String>>, pub changelog_total: usize, pub changelog_loaded: usize, pub changelog_scroll: usize,
}
Expand description

The application model (all TUI state).

Fields§

§should_quit: bool

Whether the user has requested quit.

§screen: Screen

Active screen.

§screen_stack: Vec<Screen>

Screen history for back navigation.

§config: Config

Loaded configuration.

§workspaces: Vec<WorkspaceConfig>

Available workspaces.

§active_workspace: Option<WorkspaceConfig>

Active workspace (selected or auto-selected).

§workspace_index: usize

Selected index in workspace selector.

§workspace_pane: WorkspacePane

Focused pane in the Workspaces screen.

§base_path: Option<PathBuf>

Base path for repos (derived from active workspace).

§repos_by_org: HashMap<String, Vec<OwnedRepo>>

Discovered repos grouped by org.

§all_repos: Vec<OwnedRepo>

All discovered repos (flat list).

§orgs: Vec<String>

Org names (sorted).

§local_repos: Vec<RepoEntry>

Local repo entries with status.

§operation_state: OperationState

Current async operation state.

§log_lines: Vec<String>

Operation log lines (last N events).

§repo_index: usize

Selected repo index in current view.

§scroll_offset: usize

Scroll offset for tables.

§filter_text: String

Filter/search text.

§filter_active: bool

Whether filter input is active.

§dry_run: bool

Whether dry-run is toggled in command picker.

§error_message: Option<String>

Error message to display (clears on next keypress).

§check_results: Vec<CheckEntry>

Requirement check results (populated on InitCheck screen).

§checks_loading: bool

Whether checks are still running.

§sync_pull: bool

Whether to use pull mode for sync (vs fetch).

§setup_state: Option<SetupState>

Setup wizard state (active when on SetupWizard screen).

§status_loading: bool

Whether status scan is in progress.

§last_status_scan: Option<Instant>

When the last status scan completed (for auto-refresh cooldown).

§stat_index: usize

Selected stat box index on dashboard (0-5) for ←/→ navigation.

§dashboard_table_state: TableState

Table state for dashboard tab content (tracks selection + scroll offset).

§settings_index: usize

Selected category index in settings screen (0 = Requirements, 1 = Options, 2+ = Workspaces).

§settings_config_expanded: bool

Whether the config TOML section is expanded in workspace detail.

§workspace_detail_scroll: u16

Scroll offset for the workspace detail right pane.

§tick_count: u64

Tick counter for driving animations on the Progress screen.

§sync_log_entries: Vec<SyncLogEntry>

Structured sync log entries (enriched data).

§log_filter: LogFilter

Active log filter for post-sync view.

§sync_history: Vec<SyncHistoryEntry>

Sync history (last N summaries for comparison).

§show_sync_history: bool

Whether sync history overlay is visible.

§expanded_repo: Option<String>

Expanded repo in post-sync view (for commit deep dive).

§repo_commits: Vec<String>

Commit log for expanded repo.

§sync_log_index: usize

Selected index in the post-sync filterable log.

§changelog_commits: HashMap<String, Vec<String>>

Aggregated commits per repo for changelog view.

§changelog_total: usize

Total number of repos to fetch commits for in changelog.

§changelog_loaded: usize

Number of repos whose commits have been loaded for changelog.

§changelog_scroll: usize

Scroll offset for the changelog view.

Implementations§

Source§

impl App

Source

pub fn new( config: Config, workspaces: Vec<WorkspaceConfig>, config_was_created: bool, ) -> Self

Create a new App with the given config and workspaces.

Source

pub fn select_workspace(&mut self, index: usize)

Select a workspace and navigate to dashboard.

Source

pub fn navigate_to(&mut self, screen: Screen)

Navigate to a new screen, pushing current onto the stack.

Source

pub fn go_back(&mut self)

Go back to previous screen.

Auto Trait Implementations§

§

impl Freeze for App

§

impl RefUnwindSafe for App

§

impl Send for App

§

impl Sync for App

§

impl Unpin for App

§

impl UnsafeUnpin for App

§

impl UnwindSafe for App

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more