dwm-status
dwm-status copied to clipboard
Update Rust crate clap to 3.2.14
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
clap | dependencies | minor | 3.1.18 -> 3.2.14 |
Release Notes
clap-rs/clap
v3.2.14
Fixes
- A
multple_values
positional followed by another positional now works with multiple flags
v3.2.13
Documentation
- Pulled in tutorials, cookbook, and derive reference into rustdoc
v3.2.12
Fixes
- Allow an arg to declare a conflict with a group
v3.2.11
Features
- Added
Arg::get_all_short_aliaes
andArg::get_all_aliases
v3.2.10
Fixes
- Loosen lifetime on
Command::mut_subcommand
v3.2.8
Features
- Added
Command::mut_subcommand
to mirrorCommand::mut_arg
v3.2.7
Fixes
- Global arguments should override env-sourced arguments
v3.2.6
Fixes
- Don't panic when parsing
--=
v3.2.5
Fixes
-
(derive) Fix regression with
#[clap(default_value_os_t ...)]
introduced in v3.2.3
v3.2.4
Fixes
-
(derive) Provide more clearer deprecation messages for
#[clap(parse)]
attribute (#3832)
v3.2.3
Fixes
- Moved deprecations to be behind the
deprecated
Cargo.toml feature (#3830)- For now, it is disabled by default though we are considering enabling it by default as we release the next major version to help draw attention to the deprecation migration path
v3.2.2
Fixes
- (derive) Improve the highlighted code for deprecation warnings
gated behind unstable-v4
-
(derive) Default to
#[clap(value_parser, action)]
instead of#[clap(parse)]
(#3827)
v3.2.1
Fixes
- A
multple_values
positional followed by another positional now works with multiple flags
v3.2.0
Compatibility
MSRV is now 1.56.0 (#3732)
Behavior
- Defaults no longer satisfy
required
and its variants (#3793) - When misusing
ArgMatches::value_of
and friends, debug asserts were turned into panics
Moving (old location deprecated)
-
clap::{PossibleValue, ValueHint}
toclap::builder::{PossibleValue, ValueHint}
-
clap::{Indices, OsValues, ValueSource, Values}
toclap::parser::{Indices, OsValues, ValueSource, Values}
-
clap::ArgEnum
toclap::ValueEnum
(#3799)
Replaced
-
Arg::allow_invalid_utf8
withArg::value_parser(value_parser!(PathBuf))
(#3753) -
Arg::validator
/Arg::validator_os
withArg::value_parser
(#3753) -
Arg::validator_regex
with users providing their ownbuilder::TypedValueParser
(#3756) -
Arg::forbid_empty_values
withbuilder::NonEmptyStringValueParser
/builder::PathBufValueParser
(#3753) -
Arg::possible_values
withArg::value_parser([...])
,builder::PossibleValuesParser
, orbuilder::EnumValueParser
(#3753) -
Arg::max_occurrences
witharg.action(ArgAction::Count).value_parser(value_parser!(u8).range(..N))
for flags (#3797) -
Arg::multiple_occurrences
withArgAction::Append
orArgAction::Count
though positionals will needArg::multiple_values
(#3772, #3797) -
Command::args_override_self
withArgAction::Set
(#2627, #3797) -
AppSettings::NoAutoVersion
withArgAction
orCommand::disable_version_flag
(#3800) -
AppSettings::NoHelpVersion
withArgAction
orCommand::disable_help_flag
/Command::disable_help_subcommand
(#3800) -
ArgMatches::{value_of, value_of_os, value_of_os_lossy, value_of_t}
withArgMatches::{get_one,remove_one}
(#3753) -
ArgMatches::{values_of, values_of_os, values_of_os_lossy, values_of_t}
withArgMatches::{get_many,remove_many}
(#3753) -
ArgMatches::is_valid_arg
withArgMatches::{try_get_one,try_get_many}
(#3753) -
ArgMatches::occurrences_of
withArgMatches::value_source
orArgAction::Count
(#3797) -
ArgMatches::is_present
withArgMatches::contains_id
orArgAction::SetTrue
(#3797) -
ArgAction::StoreValue
withArgAction::Set
orArgAction::Append
(#3797) -
ArgAction::IncOccurrences
withArgAction::SetTrue
orArgAction::Count
(#3797) -
(derive)
#[clap(parse(...))]
replaced with: (#3589, #3794)- For default parsers (no
parse
attribute), deprecation warnings can be silenced by opting into the new behavior by adding either#[clap(action)]
or#[clap(value_parser)]
(ie requesting the default behavior for these attributes). Alternatively, theunstable-v4
feature changes the default away fromparse
toaction
/value_parser
. - For
#[clap(parse(from_flag))]
replaced with#[clap(action = ArgAction::SetTrue)]
(#3794) - For
#[clap(parse(from_occurrences))]
replaced with#[clap(action = ArgAction::Count)]
though the field's type must beu8
(#3794) - For
#[clap(parse(from_os_str)]
forPathBuf
, replace it with#[clap(value_parser)]
(as mentioned earlier this will callvalue_parser!(PathBuf)
which will auto-select the rightValueParser
automatically). - For
#[clap(parse(try_from_str = ...)]
, replace it with#[clap(value_parser = ...)]
- For most other cases, a type implementing
TypedValueParser
will be needed and specify it with#[clap(value_parser = ...)]
- For default parsers (no
Features
- Parsed, typed arguments via
Arg::value_parser
/ArgMatches::{get_one,get_many}
(#2683, #3732)- Several built-in
TypedValueParser
s available with an API open for expansion -
value_parser!(T)
macro for selecting a parser for a given type (#3732) and open to expansion via theValueParserFactory
trait (#3755) -
[&str]
is implicitly a value parser for possible values - All
ArgMatches
getters do not assume required arguments (#2505) - Add
ArgMatches::remove_*
variants to transfer ownership - Add
ArgMatches::try_*
variants to avoid panics for developer errors (#3621) - Add a
get_raw
to access the underlyingOsStr
s -
PathBuf
value parsers implyValueHint::AnyPath
for completions (#3732)
- Several built-in
- Explicit control over parsing via
Arg::action
(#3774)-
ArgAction::StoreValue
: existingtakes_value(true)
behavior -
ArgAction::IncOccurrences
: existingtakes_value(false)
behavior -
ArgAction::Help
: existing--help
behavior -
ArgAction::Version
: existing--version
behavior -
ArgAction::Set
: Overwrite existing values (likeArg::multiple_occurrences
mixed withCommand::args_override_self
) (#3777) -
ArgAction::Append
: likeArg::multiple_occurrences
(#3777) -
ArgAction::SetTrue
: Treat--flag
as--flag=true
(#3775)- Implies
Arg::default_value("false")
(#3786) - Parses
Arg::env
viaArg::value_parser
- Implies
-
ArgAction::SetFalse
: Treat--flag
as--flag=false
(#3775)- Implies
Arg::default_value("true")
(#3786) - Parses
Arg::env
viaArg::value_parser
- Implies
-
ArgAction::Count
: Treat--flag --flag --flag
as--flag=1 --flag=2 --flag=3
(#3775)- Implies
Arg::default_value("0")
(#3786) - Parses
Arg::env
viaArg::value_parser
- Implies
-
-
(derive) Opt-in to new
Arg::value_parser
/Arg::action
with either#[clap(value_parser)]
(#3589, #3742) /#[clap(action)]
attributes (#3794) -
Command::multicall
is now stable for busybox-like programs and REPLs (#2861, #3684) -
ArgMatches::{try_,}contains_id
for checking if there are values for an argument that mirrors the newget_{one,many}
API
Fixes
- Don't correct argument id in
default_value_ifs_os
(#3815)
parser
- Set
ArgMatches::value_source
andArgMatches::occurrences_of
for external subcommands (#3732) - Use value delimiter for
Arg::default_missing_values
(#3761, #3765) - Split
Arg::default_value
/Arg::env
on value delimiters independent of whether--
was used (#3765) - Allow applying defaults to flags (#3294, 3775)
- Defaults no longer satisfy
required
and its variants (#3793)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
Codecov Report
Merging #106 (1684f24) into master (7d6223e) will increase coverage by
0.02%
. The diff coverage isn/a
.
@@ Coverage Diff @@
## master #106 +/- ##
==========================================
+ Coverage 24.11% 24.13% +0.02%
==========================================
Files 59 59
Lines 958 957 -1
==========================================
Hits 231 231
+ Misses 727 726 -1
Impacted Files | Coverage Δ | |
---|---|---|
src/lib.rs | 0.00% <0.00%> (ø) |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.