watchexec/cargo-watch

[8.5.0+] `-s` parameter is not recognized when `-x` is elided

apiraino opened this issue · 2 comments

Hello, just installed v8.5.2, I think the elided -x parameter introduced a different behaviour on how parameters are accepted. Example: for the -s parameter to be being recognized, the old -x must still be explicited. Unsure if it's a regression or just the new way of parsing params.

Before v8.5.0

$ cargo-watch -x check -s true
[Running 'cargo check && true']
    Finished dev [unoptimized] target(s) in 0.05s
DONE
[Finished running. Exit status: 0]

After v8.5.0

$ cargo-watch check -s true
[Running 'cargo check -s true']
error: unexpected argument '--silent' found

  tip: a similar argument exists: '--quiet'

Usage: cargo check [OPTIONS]

For more information, try '--help'.
[Finished running. Exit status: 1]

Also this one looks weird (shouldn't check be run be default?):

$ cargo-watch -s true
[Running 'true']
[Finished running. Exit status: 0]

Thanks for your work on cargo-watch 🙂

Oh, -x is not elided, it's just a new shorthand for a handful of common commands. You should still use -x if you want to also use -s or multiple -x.

That is, this still works:

$ cargo-watch -x check -s true
[Running 'cargo check && true']