Enum clap::AppSettings
[−]
[src]
pub enum AppSettings { SubcommandsNegateReqs, SubcommandRequired, ArgRequiredElseHelp, GlobalVersion, VersionlessSubcommands, UnifiedHelpMessage, WaitOnError, SubcommandRequiredElseHelp, }
Application level settings, which affect how App
operates
Variants
SubcommandsNegateReqs | Allows subcommands to override all requirements of the parent (this command). For example if you had a subcommand or even top level application which had a required arguments that are only required as long as there is no subcommand present. NOTE: This defaults to false (using subcommand does not negate requirements) ExamplesApp::new("myprog") .setting(AppSettings::SubcommandsNegateReqs) |
SubcommandRequired | Allows specifying that if no subcommand is present at runtime, error and exit gracefully NOTE: This defaults to false (subcommands do not need to be present) ExamplesApp::new("myprog") .setting(AppSettings::SubcommandRequired) |
ArgRequiredElseHelp | Specifies that the help text sould be displayed (and then exit gracefully), if no
arguments are present at runtime (i.e. an empty run such as, NOTE: Subcommands count as arguments ExamplesApp::new("myprog") .setting(AppSettings::ArgRequiredElseHelp) |
GlobalVersion | Uses version of the current command for all subcommands. (Defaults to false; subcommands have independant version strings) NOTE: The version for the current command and this setting must be set prior to adding any subcommands ExamplesApp::new("myprog") .version("v1.1") .setting(AppSettings::GlobalVersion) .subcommand(SubCommand::with_name("test")) .get_matches(); // running `myprog test --version` will display // "myprog-test v1.1" |
VersionlessSubcommands | Disables NOTE: This setting must be set prior adding any subcommands NOTE: Do not set this value to false, it will have undesired results! ExamplesApp::new("myprog") .version("v1.1") .setting(AppSettings::VersionlessSubcommands) .subcommand(SubCommand::with_name("test")) .get_matches(); // running `myprog test --version` will display unknown argument error |
UnifiedHelpMessage | By default the auto-generated help message groups flags, options, and positional arguments separately. This setting disable that and groups flags and options together presenting a more unified help message (a la getopts or docopt style). NOTE: This setting is cosmetic only and does not affect any functionality. ExamplesApp::new("myprog") .setting(AppSettings::UnifiedHelpMessage) .get_matches(); // running `myprog --help` will display a unified "docopt" or "getopts" style help message |
WaitOnError | Will display a message "Press [ENTER]/[RETURN] to continue..." and wait user before exiting This is most useful when writing an application which is run from a GUI shortcut, or on
Windows where a user tries to open the binary by double-clicking instead of using the
command line (i.e. set NOTE: This setting is not recursive with subcommands, meaning if you wish this behavior for all subcommands, you must set this on each command (needing this is extremely rare) ExamplesApp::new("myprog") .setting(AppSettings::WaitOnError) |
SubcommandRequiredElseHelp | Specifies that the help text sould be displayed (and then exit gracefully), if no
subcommands are present at runtime (i.e. an empty run such as, NOTE: This should not be used with NOTE: If the user specifies arguments at runtime, but no subcommand the help text will
still be displayed and exit. If this is not the desired result, consider using
ExamplesApp::new("myprog") .setting(AppSettings::SubcommandRequiredElseHelp) |