var searchIndex = {}; searchIndex["clap"] = {"doc":"# clap","items":[[3,"Arg","clap","The abstract representation of a command line argument used by the consumer of the library.\nUsed to set all the options and relationships that define a valid argument for the program.",null,null],[3,"SubCommand","","The abstract representation of a command line subcommand used by the consumer of the library.",null,null],[3,"ArgMatches","","Used to get information about the arguments that where supplied to the program at runtime by\nthe user. To get a new instance of this struct you use `.get_matches()` of the `App` struct.",null,null],[3,"ArgGroup","","`ArgGroup`s are a family of related arguments and way for you to say, "Any of these arguments".\nBy placing arguments in a logical group, you can make easier requirement and exclusion rules\nintead of having to list each individually, or when you want a rule to apply "any but not all"\narguments.",null,null],[3,"App","","Used to create a representation of a command line program and all possible command line\narguments.",null,null],[4,"Format","","",null,null],[13,"Error","","",0,null],[13,"Warning","","",0,null],[13,"Good","","",0,null],[11,"new","","Creates a new instance of an application requiring a name (such as the binary). The name\nwill be displayed to the user when they request to print version or help and usage\ninformation. The name should not contain spaces (hyphens '-' are ok).",1,{"inputs":[{"name":"str"}],"output":{"name":"app"}}],[11,"author","","Sets a string of author(s) and will be displayed to the user when they request the help\ninformation with `--help` or `-h`.",1,null],[11,"bin_name","","Overrides the system-determined binary name. This should only be used when absolutely\nneccessary, such as the binary name for your application is misleading, or perhaps *not*\nhow the user should invoke your program.",1,null],[11,"about","","Sets a string briefly describing what the program does and will be displayed when\ndisplaying help information.",1,null],[11,"after_help","","Adds additional help information to be displayed in addition to and directly after\nauto-generated help. This information is displayed **after** the auto-generated help\ninformation. This additional help is often used to describe how to use the arguments,\nor caveats to be noted.",1,null],[11,"subcommands_negate_reqs","","Allows subcommands to override all requirements of the parent (this command). For example\nif you had a subcommand or even top level application which had a required arguments that\nare only required as long as there is no subcommand present.",1,null],[11,"subcommand_required","","Allows specifying that if no subcommand is present at runtime, error and exit gracefully",1,null],[11,"version","","Sets a string of the version number to be displayed when displaying version or help\ninformation.",1,null],[11,"usage","","Sets a custom usage string to override the auto-generated usage string.",1,null],[11,"help","","Sets a custom help message and overrides the auto-generated one. This should only be used\nwhen the auto-generated message does not suffice.",1,null],[11,"help_short","","Sets the short version of the `help` argument without the preceding `-`.",1,null],[11,"version_short","","Sets the short version of the `version` argument without the preceding `-`.",1,null],[11,"arg_required_else_help","","Specifies that the help text sould be displayed (and then exit gracefully), if no\narguments are present at runtime (i.e. an empty run such as, `$ myprog`.",1,null],[11,"global_version","","Uses version of the current command for all subcommands. (Defaults to false; subcommands\nhave independant version strings)",1,null],[11,"versionless_subcommands","","Disables `-V` and `--version` for all subcommands (Defaults to false; subcommands have\nversion flags)",1,null],[11,"unified_help_message","","By default the auto-generated help message groups flags, options, and positional arguments\nseparately. This setting disable that and groups flags and options together presenting a\nmore unified help message (a la getopts or docopt style).",1,null],[11,"wait_on_error","","Will display a message "Press [ENTER]/[RETURN] to continue..." and wait user before\nexiting",1,null],[11,"subcommand_required_else_help","","Specifies that the help text sould be displayed (and then exit gracefully), if no\nsubcommands are present at runtime (i.e. an empty run such as, `$ myprog`.",1,null],[11,"arg","","Adds an argument to the list of valid possibilties manually. This method allows you full\ncontrol over the arguments settings and options (as well as dynamic generation). It also\nallows you specify several more advanced configuration options such as relational rules\n(exclusions and requirements).",1,null],[11,"args","","Adds multiple arguments to the list of valid possibilties by iterating over a Vec of Args",1,null],[11,"arg_from_usage","","A convienience method for adding a single basic argument (one without advanced\nrelational rules) from a usage type string. The string used follows the same rules and\nsyntax as `Arg::from_usage()`",1,null],[11,"args_from_usage","","Adds multiple arguments at once from a usage string, one per line. See `Arg::from_usage()`\nfor details on the syntax and rules supported.",1,null],[11,"arg_group","","Adds an ArgGroup to the application. ArgGroups are a family of related arguments. By\nplacing them in a logical group, you make easier requirement and exclusion rules. For\ninstance, you can make an ArgGroup required, this means that one (and *only* one) argument\nfrom that group must be present. Using more than one argument from an ArgGroup causes a\nfailure (graceful exit).",1,null],[11,"arg_groups","","Adds a ArgGroups to the application. ArgGroups are a family of related arguments. By\nplacing them in a logical group, you make easier requirement and exclusion rules. For\ninstance, you can make an ArgGroup required, this means that one (and *only* one) argument\nfrom that group must be present. Using more than one argument from an ArgGroup causes a\nfailure (graceful exit).",1,null],[11,"subcommand","","Adds a subcommand to the list of valid possibilties. Subcommands are effectively sub apps,\nbecause they can contain their own arguments, subcommands, version, usage, etc. They also\nfunction just like apps, in that they get their own auto generated help, version, and\nusage.",1,null],[11,"subcommands","","Adds multiple subcommands to the list of valid possibilties by iterating over a Vec of\n`SubCommand`s",1,null],[11,"get_matches","","Starts the parsing process. Called on top level parent app **ONLY** then recursively calls\nthe real parsing function for all subcommands",1,null],[11,"get_matches_from","","Starts the parsing process. Called on top level parent app **ONLY** then recursively calls\nthe real parsing function for all subcommands",1,null],[11,"with_name","","Creates a new instace of `Arg` using a unique string name.\nThe name will be used by the library consumer to get information about\nwhether or not the argument was used at runtime.",2,{"inputs":[{"name":"str"}],"output":{"name":"arg"}}],[11,"from_usage","","Creates a new instace of `Arg` from a usage string. Allows creation of basic settings\nfor Arg (i.e. everything except relational rules). The syntax is flexible, but there are\nsome rules to follow.",2,{"inputs":[{"name":"str"}],"output":{"name":"arg"}}],[11,"short","","Sets the short version of the argument without the preceding `-`.",2,null],[11,"long","","Sets the long version of the argument without the preceding `--`.",2,null],[11,"help","","Sets the help text of the argument that will be displayed to the user\nwhen they print the usage/help information.",2,null],[11,"required","","Sets whether or not the argument is required by default. Required by\ndefault means it is required, when no other mutually exlusive rules have\nbeen evaluated. Mutually exclusive rules take precedence over being required\nby default.",2,null],[11,"conflicts_with","","Sets a mutually exclusive argument by name. I.e. when using this argument,\nthe following argument can't be present.",2,null],[11,"conflicts_with_all","","Sets mutually exclusive arguments by names. I.e. when using this argument,\nthe following argument can't be present.",2,null],[11,"requires","","Sets an argument by name that is required when this one is presnet I.e. when\nusing this argument, the following argument *must* be present.",2,null],[11,"requires_all","","Sets arguments by names that are required when this one is presnet I.e. when\nusing this argument, the following arguments *must* be present.",2,null],[11,"takes_value","","Specifies that the argument takes an additional value at run time.",2,null],[11,"index","","Specifies the index of a positional argument starting at 1.",2,null],[11,"multiple","","Specifies if the flag may appear more than once such as for multiple debugging\nlevels (as an example). `-ddd` for three levels of debugging, or `-d -d -d`.\nWhen this is set to `true` you receive the number of occurrences the user supplied\nof a particular flag at runtime.",2,null],[11,"global","","Specifies that an argument can be matched to all child subcommands.",2,null],[11,"empty_values","","Allows an argument to accept explicit empty values. An empty value must be specified at the\ncommand line with an explicit `""`, or `''`",2,null],[11,"possible_values","","Specifies a list of possible values for this argument. At runtime, clap verifies that only\none of the specified values was used, or fails with a usage string.",2,null],[11,"group","","Specifies the name of the group the argument belongs to.",2,null],[11,"number_of_values","","Specifies how many values are required to satisfy this argument. For example, if you had a\n`-f <file>` argument where you wanted exactly 3 'files' you would set\n`.number_of_values(3)`, and this argument wouldn't be satisfied unless the user provided\n3 and only 3 values.",2,null],[11,"max_values","","Specifies the *maximum* number of values are for this argument. For example, if you had a\n`-f <file>` argument where you wanted up to 3 'files' you would set\n`.max_values(3)`, and this argument would be satisfied if the user provided, 1, 2, or 3\nvalues.",2,null],[11,"min_values","","Specifies the *minimum* number of values are for this argument. For example, if you had a\n`-f <file>` argument where you wanted at least 2 'files' you would set\n`.min_values(2)`, and this argument would be satisfied if the user provided, 2 or more\nvalues.",2,null],[11,"value_names","","Specifies names for values of option arguments. These names are cosmetic only, used for\nhelp and usage strings only. The names are **not** used to access arguments. The values of\nthe arguments are accessed in numeric order (i.e. if you specify two names `one` and `two`\n`one` will be the first matched value, `two` will be the second).",2,null],[11,"from","","",2,{"inputs":[{"name":"arg"}],"output":{"name":"arg"}}],[11,"value_of","","Gets the value of a specific option or positional argument (i.e. an argument that takes\nan additional value at runtime). If the option wasn't present at runtime\nit returns `None`.",3,null],[11,"values_of","","Gets the values of a specific option or positional argument in a vector (i.e. an argument\nthat takes multiple values at runtime). If the option wasn't present at runtime it\nreturns `None`",3,null],[11,"is_present","","Returns if an argument was present at runtime.",3,null],[11,"occurrences_of","","Returns the number of occurrences of an option, flag, or positional argument at runtime.\nIf an argument isn't present it will return `0`. Can be used on arguments which *don't*\nallow multiple occurrences, but will obviously only return `0` or `1`.",3,null],[11,"subcommand_matches","","Returns the `ArgMatches` for a particular subcommand or None if the subcommand wasn't\npresent at runtime.",3,null],[11,"subcommand_name","","Returns the name of the subcommand used of the parent `App`, or `None` if one wasn't found",3,null],[11,"subcommand","","Returns the name and `ArgMatches` of the subcommand used at runtime or ("", None) if one\nwasn't found.",3,null],[11,"usage","","Returns a string slice of the usage statement for the `App` (or `SubCommand`)",3,null],[11,"with_name","","Creates a new instance of a subcommand requiring a name. Will be displayed\nto the user when they print version or help and usage information.",4,{"inputs":[{"name":"str"}],"output":{"name":"app"}}],[11,"with_name","","Creates a new instace of `ArgGroup` using a unique string name.\nThe name will only be used by the library consumer and not displayed to the use.",5,{"inputs":[{"name":"str"}],"output":{"name":"arggroup"}}],[11,"add","","Adds an argument to this group by name",5,null],[11,"add_all","","Adds multiple arguments to this group by name using a Vec",5,null],[11,"required","","Sets the requirement of this group. A required group will be displayed in the usage string\nof the application in the format `[arg|arg2|arg3]`. A required `ArgGroup` simply states\nthat one, and only one argument from this group *must* be present at runtime (unless\nconflicting with another argument).",5,null],[11,"requires","","Sets the requirement rules of this group. This is not to be confused with a required group.\nRequirement rules function just like argument requirement rules, you can name other\narguments or groups that must be present when one of the arguments from this group is used.",5,null],[11,"requires_all","","Sets the requirement rules of this group. This is not to be confused with a required group.\nRequirement rules function just like argument requirement rules, you can name other\narguments or groups that must be present when one of the arguments from this group is used.",5,null],[11,"conflicts_with","","Sets the exclusion rules of this group. Exclusion rules function just like argument\nexclusion rules, you can name other arguments or groups that must not be present when one\nof the arguments from this group are used.",5,null],[11,"conflicts_with_all","","Sets the exclusion rules of this group. Exclusion rules function just like argument\nexclusion rules, you can name other arguments or groups that must not be present when one\nof the arguments from this group are used.",5,null],[11,"fmt","","",5,null],[11,"fmt","","",0,null],[14,"value_t!","","Convenience macro getting a typed value `T` where `T` implements `std::str::FromStr`\nThis macro returns a `Result<T,String>` which allows you as the developer to decide\nwhat you'd like to do on a failed parse. There are two types of errors, parse failures\nand those where the argument wasn't present (such as a non-required argument).",null,null],[14,"value_t_or_exit!","","Convenience macro getting a typed value `T` where `T` implements `std::str::FromStr`\nThis macro returns a `T` or `Vec<T>` or exits with a usage string upon failure. This\nremoves some of the boiler plate to handle failures from value_t! above.",null,null],[14,"simple_enum!","","Convenience macro generated a simple enum with variants to be used as a type when parsing\narguments. This enum also provides a `variants()` function which can be used to retrieve a\n`Vec<&'static str>` of the variant names.",null,null],[14,"arg_enum!","","Convenience macro to generate more complete enums with variants to be used as a type when\nparsing arguments. This enum also provides a `variants()` function which can be used to retrieve a\n`Vec<&'static str>` of the variant names.",null,null],[14,"crate_version!","","Allows you pull the version for an from your Cargo.toml as MAJOR.MINOR.PATCH_PKGVERSION_PRE",null,null]],"paths":[[4,"Format"],[3,"App"],[3,"Arg"],[3,"ArgMatches"],[3,"SubCommand"],[3,"ArgGroup"]]}; initSearch(searchIndex);