pub enum Manager {
Uv,
Pip,
Cargo,
Npm,
Brew,
Dotnet,
}Expand description
A supported package manager. The set is closed on purpose: the engine only runs managers whose install/uninstall argv it fully controls.
Variants§
Uv
Astral uv — uv tool install <pkg>==<ver> (Python CLIs).
Pip
pip — pip install --user <pkg>==<ver> (Python libraries/CLIs).
Cargo
cargo — cargo install <pkg> --version <ver> (Rust binaries).
Npm
npm — npm install -g <pkg>@<ver> (Node CLIs).
Brew
Homebrew — brew install <formula> (version pinned via the formula name,
e.g. node@22; the version field documents the expected version).
Dotnet
.NET SDK — dotnet tool install --global <pkg> --version <ver> (.NET
global tools published to NuGet, e.g. CodeCompress.Server).
Implementations§
Source§impl Manager
impl Manager
Sourcepub fn parse(s: &str) -> Option<Self>
pub fn parse(s: &str) -> Option<Self>
Parse a manager slug from a manifest, case-insensitively. Unknown → None.
Sourcepub fn program(self) -> String
pub fn program(self) -> String
The executable to invoke — the LEANCTX_BOOTSTRAP_<MANAGER> override if
set + non-empty, otherwise the manager’s name (resolved via PATH).
Sourcepub fn install_hint(self) -> &'static str
pub fn install_hint(self) -> &'static str
A short, actionable hint for installing this manager when it is absent —
surfaced by the addon add pre-flight so a missing manager fails with a
“here’s how to get it” message rather than a raw spawn error.
Sourcepub fn is_available(self) -> bool
pub fn is_available(self) -> bool
Whether the manager’s executable can actually be launched: its
LEANCTX_BOOTSTRAP_<MANAGER> override path is executable, or its bare
name resolves on PATH. Lets addon add pre-flight a missing manager.
Trait Implementations§
impl Copy for Manager
impl Eq for Manager
impl StructuralPartialEq for Manager
Auto Trait Implementations§
impl Freeze for Manager
impl RefUnwindSafe for Manager
impl Send for Manager
impl Sync for Manager
impl Unpin for Manager
impl UnsafeUnpin for Manager
impl UnwindSafe for Manager
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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