]> git.proxmox.com Git - cargo.git/commitdiff
feat: list avaiables for clean,tree,update
authorWeihang Lo <me@weihanglo.tw>
Tue, 27 Oct 2020 18:43:25 +0000 (02:43 +0800)
committerWeihang Lo <me@weihanglo.tw>
Tue, 27 Oct 2020 18:46:20 +0000 (02:46 +0800)
src/bin/cargo/commands/clean.rs
src/bin/cargo/commands/tree.rs
src/bin/cargo/commands/update.rs

index 80cd2a98f1508bf0584b0e0446123b06b04f0806..b02af1bb4a9616e0ef9ca9ae517f23f2e535ef7c 100644 (file)
@@ -1,6 +1,7 @@
 use crate::command_prelude::*;
 
 use cargo::ops::{self, CleanOptions};
+use cargo::util::print_available_packages;
 
 pub fn cli() -> App {
     subcommand("clean")
@@ -18,6 +19,11 @@ pub fn cli() -> App {
 
 pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
     let ws = args.workspace(config)?;
+
+    if args.is_present_with_zero_values("package") {
+        print_available_packages(&ws)?;
+    }
+
     let opts = CleanOptions {
         config,
         spec: values(args, "package"),
index b700be93952b710a78279f77891b3058b067dfab..10e89cd5ebd2e4d8f48cd7779e5dd1d58f1d0c1c 100644 (file)
@@ -4,6 +4,7 @@ use anyhow::{bail, format_err};
 use cargo::core::dependency::DepKind;
 use cargo::ops::tree::{self, EdgeKind};
 use cargo::ops::Packages;
+use cargo::util::print_available_packages;
 use cargo::util::CargoResult;
 use std::collections::HashSet;
 use std::str::FromStr;
@@ -176,6 +177,11 @@ subtree of the package given to -p.\n\
     }
 
     let ws = args.workspace(config)?;
+
+    if args.is_present_with_zero_values("package") {
+        print_available_packages(&ws)?;
+    }
+
     let charset = tree::Charset::from_str(args.value_of("charset").unwrap())
         .map_err(|e| anyhow::anyhow!("{}", e))?;
     let opts = tree::TreeOptions {
index a887f908f7be24109c3eda0c9860c838e053acb2..34bab9f757ee7dfb03dd9d2f0227542718640f32 100644 (file)
@@ -1,6 +1,7 @@
 use crate::command_prelude::*;
 
 use cargo::ops::{self, UpdateOptions};
+use cargo::util::print_available_packages;
 
 pub fn cli() -> App {
     subcommand("update")
@@ -20,6 +21,10 @@ pub fn cli() -> App {
 pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
     let ws = args.workspace(config)?;
 
+    if args.is_present_with_zero_values("package") {
+        print_available_packages(&ws)?;
+    }
+
     let update_opts = UpdateOptions {
         aggressive: args.is_present("aggressive"),
         precise: args.value_of("precise"),