pub struct EntityState {Show 16 fields
pub key: EntityKey,
pub name: Arc<str>,
pub common_dir: Arc<Path>,
pub kind: Kind,
pub branch: Cell<Head>,
pub sync: Cell<SyncState>,
pub base: Cell<u32>,
pub dirty: Cell<DirtyCounts>,
pub state: Cell<WorktreeState>,
pub default_branch: Cell<DefaultBranch>,
pub diagnostics: Diagnostics,
pub last_action: Option<ActionReceipt>,
pub presence: Presence,
pub excluded: bool,
pub in_progress_operation: Option<InProgressOperation>,
pub recent_commits: Vec<RecentCommit>,
}Expand description
One Entity’s state: a struct of named Cells rather than a map, because the grid is not rectangular and each column carries its own payload type.
Fields§
§key: EntityKey§name: Arc<str>§common_dir: Arc<Path>§kind: Kind§branch: Cell<Head>§sync: Cell<SyncState>§base: Cell<u32>§dirty: Cell<DirtyCounts>§state: Cell<WorktreeState>§default_branch: Cell<DefaultBranch>§diagnostics: Diagnostics§last_action: Option<ActionReceipt>§presence: Presence§excluded: boolListed, never operated on, per a matching [[repo]] entry’s exclude = true
(config.md).
Distinct from a Set’s exclude glob, which keeps an entity out of discovery
entirely: an excluded entity is still a row here, still selectable, and this
is the fact a row count or a confirm gate subtracts it against.
in_progress_operation: Option<InProgressOperation>The in-progress git operation read from this entity’s own repository state, if any: not a Cell, not part of the row summary fold, and read by the detail pane alone (ADR 0019).
recent_commits: Vec<RecentCommit>Up to a fixed handful of this entity’s most recent commits, most recent first. Empty before the first probe, or when HEAD is unborn.
Implementations§
Source§impl EntityState
impl EntityState
Sourcepub fn new(
key: EntityKey,
name: Arc<str>,
common_dir: Arc<Path>,
kind: Kind,
) -> Self
pub fn new( key: EntityKey, name: Arc<str>, common_dir: Arc<Path>, kind: Kind, ) -> Self
A freshly discovered Entity: every Cell unset, Present, no last run.
A Submodule is constructed with state and base already
Unknown(NoDefaultBranch): ADR 0012
records that population’s default branch as known-wrong with no local
detector, so a proof computed against it would be a confident lie, and
that is a question with an answer Repon cannot stand behind rather than a
question with no meaning on the row
(see ADR 0017,
as amended). A Repo is constructed with state already
NotApplicable: the four Worktree states describe a Worktree’s own
branch, and a Repo row has none to describe, by kind rather than by HEAD’s
shape. Leaving state unset instead would fold the row to Unknown rather
than excluding the cell, which is what would put a question mark in the
gutter of every Repo row on screen.
Trait Implementations§
Source§impl Clone for EntityState
impl Clone for EntityState
Source§fn clone(&self) -> EntityState
fn clone(&self) -> EntityState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for EntityState
impl RefUnwindSafe for EntityState
impl Send for EntityState
impl Sync for EntityState
impl Unpin for EntityState
impl UnsafeUnpin for EntityState
impl UnwindSafe for EntityState
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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