Skip to content

Commit

Permalink
Auto merge of #11204 - cassaundra:remove-completions, r=weihanglo
Browse files Browse the repository at this point in the history
Add completions for `cargo remove`

### What does this PR try to resolve?

This PR continues the deferred work of #11099 by adding bash and zsh completions for the cargo remove subcommand.

### How should we test and review this PR?

There doesn't seem to be much in the way of testing for these completions automatically, so I would suggest verifying that they work in practice and sufficiently cover the subcommand's surface area.

### Additional Information

I will also soon post a PR for cargo remove's documentation.
  • Loading branch information
bors committed Oct 10, 2022
2 parents 0c29d43 + 3b6d2c4 commit e691e18
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/etc/_cargo
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,17 @@ _cargo() {
_arguments -s -S $common $manifest
;;

remove | rm)
_arguments -s -A "^--" $common $manifest \
"--dev[remove as a dev dependency]" \
"--build[remove as a build dependency]" \
"--target=[remove as a dependency from the given target platform]" \
"--dry-run[don't actually write the manifest]" \
'(-p --package)'{-p+,--package=}'[package to remove from]:package:_cargo_package_names' \
'1: :_guard "^-*" "crate name"' \
'*:args:_default'
;;

run | r)
_arguments -s -S $common $parallel $features $msgfmt $triple $target $manifest \
'--example=[name of the bin target]:name:_cargo_example_names' \
Expand Down
2 changes: 2 additions & 0 deletions src/etc/cargo.bashcomp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ _cargo()
local opt__pkgid="$opt_common $opt_mani $opt_lock $opt_pkg"
local opt__publish="$opt_common $opt_mani $opt_feat $opt_lock $opt_parallel --allow-dirty --dry-run --token --no-verify --index --registry --target --target-dir"
local opt__read_manifest="$opt_help $opt_quiet $opt_verbose $opt_mani $opt_color $opt_lock --no-deps"
local opt__remove="$opt_common $opt_pkg $opt_lock $opt_mani --dry-run --dev --build --target"
local opt__rm="$opt__remove"
local opt__report="$opt_help $opt_verbose $opt_color future-incompat future-incompatibilities"
local opt__report__future_incompat="$opt_help $opt_verbose $opt_color $opt_pkg --id"
local opt__run="$opt_common $opt_pkg $opt_feat $opt_mani $opt_lock $opt_parallel --message-format --target --bin --example --release --target-dir --profile"
Expand Down

0 comments on commit e691e18

Please sign in to comment.