mod apt;
mod asdf;
mod brew;
mod bun;
mod cargo;
mod choco;
mod composer;
mod dnf;
mod engines;
mod flatpak;
mod fnm;
mod gem;
mod mas;
mod mise;
mod node_versions;
pub(crate) mod npm;
mod nvm;
mod pacman;
mod pip;
mod pnpm;
mod rustup;
mod scoop;
mod snap;
mod softwareupdate;
mod table;
mod uv;
mod winget;
mod yarn;
mod zypper;
use crate::manager::Manager;
use crate::plugins;
pub fn all() -> Vec<&'static dyn Manager> {
every()
.into_iter()
.chain(plugins::loaded().managers.iter().copied())
.filter(|m| m.supported())
.collect()
}
pub fn every() -> [&'static dyn Manager; 26] {
[
&brew::Brew,
&softwareupdate::SoftwareUpdate,
&mas::Mas,
&apt::Apt,
&dnf::Dnf,
&pacman::Pacman,
&zypper::Zypper,
&snap::Snap,
&flatpak::Flatpak,
&winget::Winget,
&scoop::Scoop,
&choco::Choco,
&npm::Npm,
&pnpm::Pnpm,
&yarn::Yarn,
&bun::Bun,
&fnm::Fnm,
&nvm::Nvm,
&pip::Pip,
&uv::Uv,
&cargo::Cargo,
&rustup::Rustup,
&gem::Gem,
&composer::Composer,
&mise::Mise,
&asdf::Asdf,
]
}