pub enum ManagerRun {
CliAbsent,
SkippedDisabled,
Steps {
marketplace: MarketplaceOutcome,
install: InstallOutcome,
},
}Expand description
What one PluginManager::register run found, distinguishing “there is no
CLI here at all” from per-step outcomes so a summary never fakes success.
Deliberately not #[non_exhaustive], unlike the outcome enums it holds:
the variants here are the closed set of reasons a run ends, and every
consumer must branch on all of them. Forcing a wildcard arm would only
invite one that silently swallowed a case with real consequences — adding
Self::SkippedDisabled here deliberately broke both consumers rather
than letting them keep reporting an install that no longer happens. The
outcomes inside Self::Steps stay open, because Codex can always give a
new answer.
Variants§
CliAbsent
The codex program does not exist. Nothing ran and nothing is known;
a consumer prints PluginManager::manual_commands and leaves its
own delivery bookkeeping untouched.
SkippedDisabled
The caller reported the plugin disabled in Codex’s config, so nothing
ran at all — see SKIPPED_DISABLED_REASON.
A sibling of Self::CliAbsent rather than an install outcome,
because “disabled” is not a fact about the install step. Registering
the marketplace can replace a same-named source belonging to someone
else, and doing that to serve an install that is then not performed is
a destructive act taken behind the back of a user who already said no.
Nothing runs, so nothing — not even the existence of the CLI — is
learned.
Steps
The CLI ran. Each step reports its own outcome.
Fields
marketplace: MarketplaceOutcomeRegistering the marketplace source.
install: InstallOutcomeInstalling or refreshing the plugin.
Trait Implementations§
Source§impl Clone for ManagerRun
impl Clone for ManagerRun
Source§fn clone(&self) -> ManagerRun
fn clone(&self) -> ManagerRun
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ManagerRun
impl Debug for ManagerRun
impl Eq for ManagerRun
Source§impl PartialEq for ManagerRun
impl PartialEq for ManagerRun
impl StructuralPartialEq for ManagerRun
Auto Trait Implementations§
impl Freeze for ManagerRun
impl RefUnwindSafe for ManagerRun
impl Send for ManagerRun
impl Sync for ManagerRun
impl Unpin for ManagerRun
impl UnsafeUnpin for ManagerRun
impl UnwindSafe for ManagerRun
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.