aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/commands/reinstall.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/reinstall.rs')
-rw-r--r--src/commands/reinstall.rs59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/commands/reinstall.rs b/src/commands/reinstall.rs
new file mode 100644
index 0000000..08aad44
--- /dev/null
+++ b/src/commands/reinstall.rs
@@ -0,0 +1,59 @@
+use clap::Args;
+
+#[derive(Args)]
+pub struct ReinstallArgs {
+ /// Package(s) to reinstall
+ pub packages: Vec<String>,
+
+ /// Forces installation from package sources when possible
+ #[arg(long)]
+ pub prefer_source: bool,
+
+ /// Forces installation from package dist
+ #[arg(long)]
+ pub prefer_dist: bool,
+
+ /// Forces usage of a specific install method (dist, source, auto)
+ #[arg(long)]
+ pub prefer_install: Option<String>,
+
+ /// Skips autoloader generation
+ #[arg(long)]
+ pub no_autoloader: bool,
+
+ /// Do not output download progress
+ #[arg(long)]
+ pub no_progress: bool,
+
+ /// Optimizes PSR-0 and PSR-4 packages to be loaded with classmaps
+ #[arg(short, long)]
+ pub optimize_autoloader: bool,
+
+ /// Autoload classes from the classmap only
+ #[arg(short = 'a', long)]
+ pub classmap_authoritative: bool,
+
+ /// Use APCu to cache found/not-found classes
+ #[arg(long)]
+ pub apcu_autoloader: bool,
+
+ /// Use a custom prefix for the APCu autoloader cache
+ #[arg(long)]
+ pub apcu_autoloader_prefix: Option<String>,
+
+ /// Ignore a specific platform requirement
+ #[arg(long)]
+ pub ignore_platform_req: Vec<String>,
+
+ /// Ignore all platform requirements
+ #[arg(long)]
+ pub ignore_platform_reqs: bool,
+
+ /// Filter packages to reinstall by type
+ #[arg(long, value_name = "TYPE")]
+ pub r#type: Vec<String>,
+}
+
+pub fn execute(_args: &ReinstallArgs) {
+ todo!()
+}