mod android;
mod angular;
mod bazel;
mod brave;
mod bun;
mod cargo;
mod chrome;
mod claude;
mod cmake;
mod cocoapods;
mod composer;
mod conda;
mod csv;
mod cypress;
mod deno;
mod discord;
mod docker;
mod dotnet;
mod downloads;
mod electron;
mod elixir;
mod esbuild;
mod eslint;
mod expo;
mod figma;
mod firefox;
mod flox;
mod flutter;
mod gatsby;
mod git;
mod go;
mod gradle;
mod haskell;
mod homebrew;
mod image;
mod iterm2;
mod jest;
mod jetbrains;
mod jupyter;
mod linear;
mod logs;
mod lua;
mod maven;
mod mysql;
mod next;
mod nix;
mod node;
mod node_gyp;
mod nuxt;
mod nx;
mod ocaml;
mod ollama;
mod orbstack;
mod parcel;
mod pip;
mod playwright;
mod pnpm;
mod postgres;
mod proton;
mod python;
mod ruby;
mod rye;
mod safari;
mod sbt;
mod sccache;
mod slack;
mod spotify;
mod sqlite;
mod storybook;
mod sveltekit;
mod swift;
mod tableplus;
mod teams;
mod terraform;
mod tmp;
mod trash;
mod turborepo;
mod typescript;
mod unity;
mod uv;
mod vagrant;
mod video;
mod vite;
mod vscode;
mod webpack;
mod xcode;
mod yarn;
mod zed;
mod zig;
mod zoom;

use crate::plugin::Plugin;

pub fn all_plugins() -> Vec<Box<dyn Plugin>> {
    vec![
        Box::new(cargo::CargoPlugin),
        Box::new(chrome::ChromePlugin),
        Box::new(node::NodePlugin),
        Box::new(docker::DockerPlugin),
        Box::new(git::GitPlugin),
        Box::new(claude::ClaudePlugin),
        Box::new(ruby::RubyPlugin),
        Box::new(python::PythonPlugin),
        Box::new(gradle::GradlePlugin),
        Box::new(maven::MavenPlugin),
        Box::new(swift::SwiftPlugin),
        Box::new(cmake::CmakePlugin),
        Box::new(logs::LogsPlugin),
        Box::new(tmp::TmpPlugin),
        Box::new(trash::TrashPlugin),
        Box::new(orbstack::OrbstackPlugin),
        Box::new(spotify::SpotifyPlugin),
        Box::new(safari::SafariPlugin),
        Box::new(firefox::FirefoxPlugin),
        Box::new(nix::NixPlugin),
        Box::new(flox::FloxPlugin),
        Box::new(homebrew::HomebrewPlugin),
        Box::new(zed::ZedPlugin),
        Box::new(iterm2::Iterm2Plugin),
        Box::new(tableplus::TableplusPlugin),
        Box::new(xcode::XcodePlugin),
        Box::new(sccache::SccachePlugin),
        Box::new(playwright::PlaywrightPlugin),
        Box::new(brave::BravePlugin),
        Box::new(cocoapods::CocoapodsPlugin),
        Box::new(cypress::CypressPlugin),
        Box::new(go::GoPlugin),
        Box::new(pnpm::PnpmPlugin),
        Box::new(pip::PipPlugin),
        Box::new(electron::ElectronPlugin),
        Box::new(linear::LinearPlugin),
        Box::new(proton::ProtonPlugin),
        Box::new(ollama::OllamaPlugin),
        Box::new(typescript::TypescriptPlugin),
        Box::new(zoom::ZoomPlugin),
        Box::new(node_gyp::NodeGypPlugin),
        Box::new(yarn::YarnPlugin),
        Box::new(bun::BunPlugin),
        Box::new(dotnet::DotnetPlugin),
        Box::new(terraform::TerraformPlugin),
        Box::new(jupyter::JupyterPlugin),
        Box::new(turborepo::TurborepoPlugin),
        Box::new(video::VideoPlugin),
        Box::new(image::ImagePlugin),
        Box::new(downloads::DownloadsPlugin),
        Box::new(slack::SlackPlugin),
        Box::new(angular::AngularPlugin),
        Box::new(next::NextPlugin),
        Box::new(vite::VitePlugin),
        Box::new(flutter::FlutterPlugin),
        Box::new(composer::ComposerPlugin),
        Box::new(unity::UnityPlugin),
        Box::new(bazel::BazelPlugin),
        Box::new(conda::CondaPlugin),
        Box::new(deno::DenoPlugin),
        Box::new(nuxt::NuxtPlugin),
        Box::new(sveltekit::SveltekitPlugin),
        Box::new(gatsby::GatsbyPlugin),
        Box::new(parcel::ParcelPlugin),
        Box::new(expo::ExpoPlugin),
        Box::new(storybook::StorybookPlugin),
        Box::new(elixir::ElixirPlugin),
        Box::new(haskell::HaskellPlugin),
        Box::new(sbt::SbtPlugin),
        Box::new(zig::ZigPlugin),
        Box::new(vscode::VscodePlugin),
        Box::new(jetbrains::JetbrainsPlugin),
        Box::new(vagrant::VagrantPlugin),
        Box::new(csv::CsvPlugin),
        Box::new(webpack::WebpackPlugin),
        Box::new(esbuild::EsbuildPlugin),
        Box::new(nx::NxPlugin),
        Box::new(jest::JestPlugin),
        Box::new(eslint::EslintPlugin),
        Box::new(lua::LuaPlugin),
        Box::new(ocaml::OcamlPlugin),
        Box::new(discord::DiscordPlugin),
        Box::new(teams::TeamsPlugin),
        Box::new(figma::FigmaPlugin),
        Box::new(uv::UvPlugin),
        Box::new(rye::RyePlugin),
        Box::new(android::AndroidPlugin),
        Box::new(postgres::PostgresPlugin),
        Box::new(mysql::MysqlPlugin),
        Box::new(sqlite::SqlitePlugin),
    ]
}
