mirror of
https://github.com/clap-rs/clap.git
synced 2026-01-25 09:06:15 +00:00
2.5 KiB
2.5 KiB
Highlights
AppvsCmd(No moreSubCommand)AppSettingsvsCmdSettings- Lazy propagation
- Lazy requirement validation
Cmd::write_helptakes&mut selfnowCmd::override_usageNo longer implies\twhich allows multi lined usages- In usage parser, for options
[name]... --option [val]results inArgSettings::MultipleOccurrencesbut--option [val]...results inArgSettings::MultipleValuesandArgSettings::MultipleOccurrences. Before both resulted in the same thing - Allow empty values no longer default
- UseValueDelimiter no longer the default
- Multiple delima fixed (vals vs occurrences)
- Ability to mutate args once they've been added to an
Cmd Cmd::argsandCmd::argare more generic- Can unset global settings
- Instead of adding arg with long
--helpor--versionyou can useCmd::mut_argto override things- Caution, must fully override
- No longer forces auto-handle of help/ver however if still desired
CmdSettings::NoAuto{Help,Version}
How to Upgrade
If you use Arg::multiple(true)
Deprecations
Simple Renames
App
App::get_matches->App::parseApp::get_matches_safe->App::try_parseApp::get_matches_from_safe->App::try_parse_fromApp::get_matches_safe_borrow->App::try_parse_from_mutApp::usage->Cmd::override_usageApp::help->Cmd::override_helpApp::template->Cmd::help_template
Arg
Arg::unset->Arg::unset_settingArg::set->Arg::settingArg::from_yaml->Arg::fromArg::with_name->Arg::newArg::group-> Use Cmd::groupArg::groups-> Use Cmd::group
ArgGroup
ArgGroup::with_name->ArgGroup::new
Structural Changes
App
App::version_message->Cmd::mut_argApp::version_short->Cmd::mut_argApp::help_message->Cmd::mut_argApp::help_short->Cmd::mut_argApp::args_from_usage->Cmd::args(&str)App::arg_from_usage->Cmd::arg(&str)Cmd::write_help->&self->&mut self(#808)App::gen_completions->clap_completions::generateApp::gen_completions_to->clap_completions::generate_to
Not Done Yet
App::settings->Cmd::setting(Setting1 | Setting2)App::unset_settings->Cmd::unset_setting(Setting1 | Setting2)App::global_settings->Cmd::global_setting(Setting1 | Setting2)
Arg
Arg::from_usage->Arg::from(&str)
Additional APIs
Cmd (former App)
Cmd::mut_argCmd::unset_global_setting