var searchIndex = {}; searchIndex["clap"] = {"doc":"A simple-to-use, efficient, and full-featured library for parsing command line arguments and subcommands when writing console/terminal applications.","items":[[3,"Arg","clap","The abstract representation of a command line argument. Used to set all the options and\nrelationships that define a valid argument for the program.",null,null],[3,"ArgGroup","","`ArgGroup`s are a family of related [arguments] and way for you to express, "Any of these\narguments". By placing arguments in a logical group, you can create easier requirement and\nexclusion rules instead of having to list each argument individually, or when you want a rule\nto apply "any but not all" arguments.",null,null],[3,"ArgMatches","","Used to get information about the arguments that where supplied to the program at runtime by\nthe user. New instances of this struct are obtained by using the [`App::get_matches`] family of\nmethods.",null,null],[3,"SubCommand","","The abstract representation of a command line subcommand.",null,null],[3,"Values","","An iterator for getting multiple values out of an argument via the [`ArgMatches::values_of`]\nmethod.",null,null],[3,"OsValues","","An iterator for getting multiple values out of an argument via the [`ArgMatches::values_of_os`]\nmethod. Usage of this iterator allows values which contain invalid UTF-8 code points unlike\n[`Values`].",null,null],[3,"App","","Used to create a representation of a command line program and all possible command line\narguments. Application settings are set using the "builder pattern" with the\n[`App::get_matches`] family of methods being the terminal methods that starts the\nruntime-parsing process. These methods then return information about the user supplied\narguments (or lack there of).",null,null],[3,"Error","","Command Line Argument Parser Error",null,null],[12,"message","","Formated error message",0,null],[12,"kind","","The type of error",0,null],[12,"info","","Any additional information passed along, such as the argument name that caused the error",0,null],[4,"ArgSettings","","Various settings that apply to arguments and may be set, unset, and checked via getter/setter\nmethods [`Arg::set`], [`Arg::unset`], and [`Arg::is_set`]\n[`Arg::set`]: ./struct.Arg.html#method.set\n[`Arg::unset`]: ./struct.Arg.html#method.unset\n[`Arg::is_set`]: ./struct.Arg.html#method.is_set",null,null],[13,"Required","","The argument must be used",1,null],[13,"Multiple","","The argument may be used multiple times such as `--flag --flag`",1,null],[13,"EmptyValues","","The argument allows empty values such as `--option ""`",1,null],[13,"Global","","The argument should be propagated down through all child [`SubCommands`]\n[`SubCommand`]: ./struct.SubCommand.html",1,null],[13,"Hidden","","The argument should **not** be shown in help text",1,null],[13,"TakesValue","","The argument accepts a value, such as `--option <value>`",1,null],[13,"UseValueDelimiter","","Determines if the argument allows values to be grouped via a delimter",1,null],[13,"NextLineHelp","","Prints the help text on the line after the argument",1,null],[13,"RequireDelimiter","","Requires the use of a value delimiter for all multiple values",1,null],[4,"AppSettings","","Application level settings, which affect how [`App`] operates",null,null],[13,"SubcommandsNegateReqs","","Allows [`SubCommand`]s to override all requirements of the parent command. For example if you\nhad a subcommand or top level application which had a required argument that are only\nrequired as long as there is no subcommand present, using this setting would allow you set\nthose arguments to [`Arg::required(true)`] and yet receive no error so long as the user\nuses a valid subcommand instead.",2,null],[13,"SubcommandRequired","","Allows specifying that if no [`SubCommand`] is present at runtime, error and exit\ngracefully",2,null],[13,"ArgRequiredElseHelp","","Specifies that the help text should be displayed (and then exit gracefully), if no\narguments are present at runtime (i.e. an empty run such as, `$ myprog`.",2,null],[13,"GlobalVersion","","Specifies to use the version of the current command for all child [`SubCommand`]. (Defaults\nto `false`; subcommands have independant version strings from their parents)",2,null],[13,"VersionlessSubcommands","","Disables `-V` and `--version` for all [`SubCommand`]s (Defaults to `false`; subcommands\n*do* have version flags)",2,null],[13,"UnifiedHelpMessage","","Groups flags and options together presenting a more unified help message (a la `getopts` or\n`docopt` style).",2,null],[13,"WaitOnError","","Will display a message "Press [ENTER]/[RETURN] to continue..." and wait for user before\nexiting",2,null],[13,"SubcommandRequiredElseHelp","","Specifies that the help text should be displayed (and then exit gracefully), if no\n[`SubCommand`]s are present at runtime (i.e. an empty run such as, `$ myprog`.",2,null],[13,"Hidden","","Specifies that this [`SubCommand`] should be hidden from help messages",2,null],[13,"TrailingVarArg","","Specifies that the final positional argument is a "VarArg" and that `clap` should not\nattempt to parse any further args.",2,null],[13,"NoBinaryName","","Specifies that the parser should not assume the first argument passed is the binary name.\nThis is normally the case when using a "daemon" style mode, or an interactive CLI where one\none would not normally type the binary or program name for each command.",2,null],[13,"AllowExternalSubcommands","","Specifies that an unexpected positional argument, which would otherwise cause a\n[`ErrorKind::UnknownArgument`] error, should instead be treated as a [`SubCommand`] within\nthe [`ArgMatches`] struct.",2,null],[13,"StrictUtf8","","Specifies that any invalid UTF-8 code points should be treated as an error and fail\nwith a [`ErrorKind::InvalidUtf8`] error.",2,null],[13,"AllowInvalidUtf8","","Specifies that any invalid UTF-8 code points should *not* be treated as an error. This is\nthe default behavior of `clap`",2,null],[13,"AllowLeadingHyphen","","Specifies that leading hyphens are allowed in argument *values*, such as negative numbers\n`-10` (which would otherwise be parsed as another flag or option)",2,null],[13,"HidePossibleValuesInHelp","","Tells `clap` *not* to print possible values when displaying help information. This can be\nuseful if there are many values, or they are explained elsewhere.",2,null],[13,"NextLineHelp","","Places the help string for all arguments on the line after the argument",2,null],[13,"DeriveDisplayOrder","","Displays the arguments and [`SubCommand`]s in the help message in the order that they were\ndeclared in, vice alphabetically which is the default.",2,null],[13,"ColoredHelp","","Uses colorized help messages.",2,null],[13,"ColorAuto","","Enables colored output only when the output is going to a terminal or TTY.",2,null],[13,"ColorAlways","","Enables colored output regardless of whether or not the output is going to a terminal/TTY.",2,null],[13,"ColorNever","","Disables colored output no matter if the output is going to a terminal/TTY, or not.",2,null],[13,"DontDelimitTrailingValues","","Disables the automatic delimiting of values when `--` or [`AppSettings::TrailingVarArg`]\nwas used.",2,null],[4,"ErrorKind","","Command line argument parser kind of error",null,null],[13,"InvalidValue","","Occurs when an [`Arg`] has a set of possible values, and the user provides a value which\nisn't in that set.",3,null],[13,"UnknownArgument","","Occurs when a user provides a flag, option, or argument which wasn't defined.",3,null],[13,"InvalidSubcommand","","Occurs when the user provids an unrecognized [`SubCommand`] which meets the threshold for\nbeing similar enough to an existing subcommand so as to not cause the more general\n[`UnknownArgument`] error.",3,null],[13,"UnrecognizedSubcommand","","Occurs when the user provids an unrecognized [`SubCommand`] which does not meet the\nthreshold for being similar enough to an existing subcommand so as to not cause the more\ndetailed [`InvalidSubcommand`] error.",3,null],[13,"EmptyValue","","Occurs when the user provides an empty value for an option that does not allow empty\nvalues.",3,null],[13,"ValueValidation","","Occurs when the user provides a value for an argument with a custom validation and the\nvalue fails that validation.",3,null],[13,"TooManyValues","","Occurs when a user provides more values for an argument than were defined by setting\n[`Arg::max_values`].",3,null],[13,"TooFewValues","","Occurs when the user provides fewer values for an argument than were defined by setting\n[`Arg::min_values`].",3,null],[13,"WrongNumberOfValues","","Occurs when the user provides a different number of values for an argument than what's\nbeen defined by setting [`Arg::number_of_values`] or than was implicitly set by\n[`Arg::value_names`].",3,null],[13,"ArgumentConflict","","Occurs when the user provides two values which conflict with each other and can't be used\ntogether.",3,null],[13,"MissingRequiredArgument","","Occurs when the user does not provide one or more required arguments.",3,null],[13,"MissingSubcommand","","Occurs when a subcommand is required (as defined by [`AppSettings::SubcommandRequired`]),\nbut the user does not provide one.",3,null],[13,"MissingArgumentOrSubcommand","","Occurs when either an argument or [`SubCommand`] is required, as defined by\n[`AppSettings::ArgRequiredElseHelp`] but the user did not provide one.",3,null],[13,"UnexpectedMultipleUsage","","Occurs when the user provides an argument multiple times which has not been set to allow\nmultiple uses.",3,null],[13,"InvalidUtf8","","Occurs when the user provides a value containing invalid UTF-8 for an argument and\n[`AppSettings::StrictUtf8`] is set.",3,null],[13,"HelpDisplayed","","Not a true "error" as it means `--help` or similar was used. The help message will be sent\nto `stdout`.",3,null],[13,"VersionDisplayed","","Not a true "error" as it means `--version` or similar was used. The message will be sent\nto `stdout`.",3,null],[13,"ArgumentNotFound","","Occurs when using the [`value_t!`] and [`values_t!`] macros to convert an argument value\ninto type `T`, but the argument you requested wasn't used. I.e. you asked for an argument\nwith name `config` to be converted, but `config` wasn't used by the user.\n[`value_t!`]: ./macro.value_t!.html\n[`values_t!`]: ./macro.values_t!.html",3,null],[13,"Io","","Represents an [I/O error], typically while writing to `stderr` or `stdout`.\n[I/O error]: https://doc.rust-lang.org/std/io/struct.Error.html",3,null],[13,"Format","","Represents an Rust's [Format error] as part of [`Display`] , typically while writing to\n`stderr` or `stdout`.\n[`Display`]: https://doc.rust-lang.org/std/fmt/trait.Display.html\n[Format error]: https://doc.rust-lang.org/std/fmt/struct.Error.html",3,null],[4,"Shell","","Describes which shell to produce a completions file for",null,null],[13,"Bash","","Generates a .sh completion file for the Bourne Again SHell (BASH)",4,null],[13,"Fish","","Generates a .fish completion file for the friendly interactive shell (fish)",4,null],[11,"clone","","",2,null],[11,"eq","","",2,null],[11,"fmt","","",2,null],[11,"from_str","","",2,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"new","","Creates a new instance of an application requiring a name. The name may be, but doesn't\nhave to be same as the binary. The name will be displayed to the user when they request to\nprint version or help and usage information.",5,{"inputs":[{"name":"s"}],"output":{"name":"self"}}],[11,"author","","Sets a string of author(s) that will be displayed to the user when they\nrequest the help information with `--help` or `-h`.",5,null],[11,"bin_name","","Overrides the system-determined binary name. This should only be used when absolutely\nneccessary, such as when the binary name for your application is misleading, or perhaps\n*not* how the user should invoke your program.",5,null],[11,"about","","Sets a string describing what the program does. This will be displayed when displaying help\ninformation.",5,null],[11,"after_help","","Adds additional help information to be displayed in addition to auto-generated help. This\ninformation is displayed **after** the auto-generated help information. This is often used\nto describe how to use the arguments, or caveats to be noted.",5,null],[11,"before_help","","Adds additional help information to be displayed in addition to auto-generated help. This\ninformation is displayed **before** the auto-generated help information. This is often used\nfor header information.",5,null],[11,"version","","Sets a string of the version number to be displayed when displaying version or help\ninformation.",5,null],[11,"usage","","Sets a custom usage string to override the auto-generated usage string.",5,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.",5,null],[11,"help_short","","Sets the [`short`] for the auto-generated `help` argument.",5,null],[11,"version_short","","Sets the [`short`] for the auto-generated `version` argument.",5,null],[11,"template","","Sets the help template to be used, overriding the default format.",5,null],[11,"setting","","Enables a single command, or [`SubCommand`], level settings.",5,null],[11,"settings","","Enables multiple command, or [`SubCommand`], level settings",5,null],[11,"global_setting","","Enables a single setting that is propogated *down* through all child [`SubCommand`]s.",5,null],[11,"global_settings","","Enables multiple settings which are propogated *down* through all child [`SubCommand`]s.",5,null],[11,"unset_setting","","Disables a single command, or [`SubCommand`], level setting.",5,null],[11,"unset_settings","","Disables multiple command, or [`SubCommand`], level settings.",5,null],[11,"set_term_width","","Sets the terminal width at which to wrap help messages. Defaults to `120`.",5,null],[11,"arg","","Adds an [argument] to the list of valid possibilties.",5,null],[11,"args","","Adds multiple [arguments] to the list of valid possibilties",5,null],[11,"arg_from_usage","","A convenience method for adding a single [argument] from a usage type string. The string\nused follows the same rules and syntax as [`Arg::from_usage`]",5,null],[11,"args_from_usage","","Adds multiple [arguments] at once from a usage string, one per line. See\n[`Arg::from_usage`] for details on the syntax and rules supported.",5,null],[11,"alias","","Allows adding a [`SubCommand`] alias, which function as "hidden" subcommands that\nautomatically dispatch as if this subcommand was used. This is more efficient, and easier\nthan creating multiple hidden subcommands as one only needs to check for the existence of\nthis command, and not all variants.",5,null],[11,"aliases","","Allows adding [`SubCommand`] aliases, which function as "hidden" subcommands that\nautomatically dispatch as if this subcommand was used. This is more efficient, and easier\nthan creating multiple hidden subcommands as one only needs to check for the existence of\nthis command, and not all variants.",5,null],[11,"visible_alias","","Allows adding a [`SubCommand`] alias that functions exactly like those defined with\n[`App::alias`], except that they are visible inside the help message.",5,null],[11,"visible_aliases","","Allows adding multiple [`SubCommand`] aliases that functions exactly like those defined\nwith [`App::aliases`], except that they are visible inside the help message.",5,null],[11,"group","","Adds an [`ArgGroup`] to the application. [`ArgGroup`]s are a family of related arguments.\nBy placing them in a logical group, you can build easier requirement and exclusion rules.\nFor instance, you can make an entire [`ArgGroup`] required, meaning that one (and *only*\none) argument from that group must be present at runtime.",5,null],[11,"groups","","Adds multiple [`ArgGroup`]s to the [`App`] at once.",5,null],[11,"subcommand","","Adds a [`SubCommand`] to the list of valid possibilties. Subcommands are effectively\nsub-[`App`]s, because they can contain their own arguments, subcommands, version, usage,\netc. They also function just like [`App`]s, in that they get their own auto generated help,\nversion, and usage.",5,null],[11,"subcommands","","Adds multiple subcommands to the list of valid possibilties by iterating over an\n[`IntoIterator`] of [`SubCommand`]s",5,null],[11,"display_order","","Allows custom ordering of [`SubCommand`]s within the help message. Subcommands with a lower\nvalue will be displayed first in the help message. This is helpful when one would like to\nemphasise frequently used subcommands, or prioritize those towards the top of the list.\nDuplicate values **are** allowed. Subcommands with duplicate display orders will be\ndisplayed in alphabetical order.",5,null],[11,"print_help","","Prints the full help message to [`io::stdout()`] using a [`BufWriter`]",5,null],[11,"write_help","","Writes the full help message to the user to a [`io::Write`] object",5,null],[11,"write_version","","Writes the version message to the user to a [`io::Write`] object",5,null],[11,"gen_completions","","Generate a completions file for a specified shell at compile time.",5,null],[11,"gen_completions_to","","Generate a completions file for a specified shell at runtime. Until `cargo install` can\ninstall extra files like a completion script, this may be used e.g. in a command that\noutputs the contents of the completion script, to be redirected into a file by the user.",5,null],[11,"get_matches","","Starts the parsing process, upon a failed parse an error will be displayed to the user and\nthe process will exit with the appropriate error code. By default this method gets all user\nprovided arguments from [`env::args_os`] in order to allow for invalid UTF-8 code points,\nwhich are legal on many platforms.",5,null],[11,"get_matches_safe","","Starts the parsing process. This method will return a [`clap::Result`] type instead of exiting\nthe process on failed parse. By default this method gets matches from [`env::args_os`]",5,null],[11,"get_matches_from","","Starts the parsing process. Like [`App::get_matches`] this method does not return a [`clap::Result`]\nand will automatically exit with an error message. This method, however, lets you specify\nwhat iterator to use when performing matches, such as a [`Vec`] of your making.",5,null],[11,"get_matches_from_safe","","Starts the parsing process. A combination of [`App::get_matches_from`], and\n[`App::get_matches_safe`]",5,null],[11,"get_matches_from_safe_borrow","","Starts the parsing process without consuming the [`App`] struct `self`. This is normally not\nthe desired functionality, instead prefer [`App::get_matches_from_safe`] which *does*\nconsume `self`.",5,null],[11,"clone","","",5,null],[11,"fmt","","",5,null],[11,"default","","",6,{"inputs":[],"output":{"name":"self"}}],[11,"with_name","","Creates a new instance of [`Arg`] using a unique string name. The name will be used to get\ninformation about whether or not the argument was used at runtime, get values, set\nrelationships with other args, etc..",6,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"from_usage","","Creates a new instance of [`Arg`] from a usage string. Allows creation of basic settings\nfor the [`Arg`]. The syntax is flexible, but there are some rules to follow.",6,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"short","","Sets the short version of the argument without the preceding `-`.",6,null],[11,"long","","Sets the long version of the argument without the preceding `--`.",6,null],[11,"help","","Sets the help text of the argument that will be displayed to the user when they print the\nusage/help information.",6,null],[11,"required","","Sets whether or not the argument is required by default. Required by default means it is\nrequired, when no other conflicting rules have been evaluated. Conflicting rules take\nprecedence over being required. **Default:** `false`",6,null],[11,"required_unless","","Sets an arg that override this arg's required setting. (i.e. this arg will be required\nunless this other argument is present).",6,null],[11,"required_unless_all","","Sets args that override this arg's required setting. (i.e. this arg will be required unless\nall these other arguments are present).",6,null],[11,"required_unless_one","","Sets args that override this arg's [required] setting. (i.e. this arg will be required\nunless *at least one of* these other arguments are present).",6,null],[11,"conflicts_with","","Sets a conflicting argument by name. I.e. when using this argument,\nthe following argument can't be present and vice versa.",6,null],[11,"conflicts_with_all","","The same as [`Arg::conflicts_with`] but allows specifying multiple two-way conlicts per\nargument.",6,null],[11,"overrides_with","","Sets a overridable argument by name. I.e. this argument and the following argument\nwill override each other in POSIX style (whichever argument was specified at runtime\n**last** "wins")",6,null],[11,"overrides_with_all","","Sets multiple mutually overridable arguments by name. I.e. this argument and the following\nargument will override each other in POSIX style (whichever argument was specified at\nruntime **last** "wins")",6,null],[11,"requires","","Sets an argument by name that is required when this one is present I.e. when\nusing this argument, the following argument *must* be present.",6,null],[11,"requires_all","","Sets multiple arguments by names that are required when this one is present I.e. when\nusing this argument, the following arguments *must* be present.",6,null],[11,"takes_value","","Specifies that the argument takes a value at run time.",6,null],[11,"index","","Specifies the index of a positional argument **starting at** 1.",6,null],[11,"multiple","","Specifies that the argument may appear more than once. For flags, this results\nin the number of occurrences of the flag being recorded. For example `-ddd` or `-d -d -d`\nwould count as three occurrences. For options there is a distinct difference in multiple\noccurrences vs multiple values.",6,null],[11,"global","","Specifies that an argument can be matched to all child [`SubCommand`]s.",6,null],[11,"empty_values","","Allows an argument to accept explicitly empty values. An empty value must be specified at\nthe command line with an explicit `""`, or `''`",6,null],[11,"hidden","","Hides an argument from help message output.",6,null],[11,"possible_values","","Specifies a list of possible values for this argument. At runtime, `clap` verifies that\nonly one of the specified values was used, or fails with an error message.",6,null],[11,"possible_value","","Specifies a possible value for this argument, one at a time. At runtime, `clap` verifies\nthat only one of the specified values was used, or fails with error message.",6,null],[11,"group","","Specifies the name of the [`ArgGroup`] the argument belongs to.",6,null],[11,"groups","","Specifies the names of multiple [`ArgGroup`]'s the argument belongs to.",6,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.",6,null],[11,"validator","","Allows one to perform a custom validation on the argument value. You provide a closure\nwhich accepts a [`String`] value, and return a [`Result`] where the [`Err(String)`] is a\nmessage displayed to the user.",6,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 `.max_values(3)`, and\nthis argument would be satisfied if the user provided, 1, 2, or 3 values.",6,null],[11,"min_values","","Specifies the *minimum* number of values 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.",6,null],[11,"use_delimiter","","Specifies whether or not an argument should allow grouping of multiple values via a\ndelimiter. I.e. should `--option=val1,val2,val3` be parsed as three values (`val1`, `val2`,\nand `val3`) or as a single value (`val1,val2,val3`). Defaults to using `,` (comma) as the\nvalue delimiter for all arguments that accept values (options and positional arguments)",6,null],[11,"require_delimiter","","Specifies that *multiple values* may only be set using the delimiter. This means if an\nif an option is encountered, and no delimiter is found, it automatically assumed that no\nadditional values for that option follow. This is unlike the default, where it is generally\nassumed that more values will follow regardless of whether or not a delimiter is used.",6,null],[11,"value_delimiter","","Specifies the separator to use when values are clumped together, defaults to `,` (comma).",6,null],[11,"value_names","","Specify multiple names for values of option arguments. These names are cosmetic only, used\nfor help and usage strings only. The names are **not** used to access arguments. The values\nof the arguments are accessed in numeric order (i.e. if you specify two names `one` and\n`two` `one` will be the first matched value, `two` will be the second).",6,null],[11,"value_name","","Specifies the name for value of [option] or [positional] arguments inside of help\ndocumentation. This name is cosmetic only, the name is **not** used to access arguments.\nThis setting can be very helpful when describing the type of input the user should be\nusing, such as `FILE`, `INTERFACE`, etc. Although not required, it's somewhat convention to\nuse all capital letters for the value name.",6,null],[11,"default_value","","Specifies the value of the argument when *not* specified at runtime.",6,null],[11,"next_line_help","","When set to `true` the help string will be displayed on the line after the argument and\nindented once. This can be helpful for arguments with very long or complex help messages.\nThis can also be helpful for arguments with very long flag names, or many/long value names.",6,null],[11,"display_order","","Allows custom ordering of args within the help message. Args with a lower value will be\ndisplayed first in the help message. This is helpful when one would like to emphasise\nfrequently used args, or prioritize those towards the top of the list. Duplicate values\n**are** allowed. Args with duplicate display orders will be displayed in alphabetical\norder.",6,null],[11,"is_set","","Checks if one of the [`ArgSettings`] settings is set for the argument\n[`ArgSettings`]: ./enum.ArgSettings.html",6,null],[11,"set","","Sets one of the [`ArgSettings`] settings for the argument\n[`ArgSettings`]: ./enum.ArgSettings.html",6,null],[11,"unset","","Unsets one of the [`ArgSettings`] settings for the argument\n[`ArgSettings`]: ./enum.ArgSettings.html",6,null],[11,"from","","",6,{"inputs":[{"name":"arg"}],"output":{"name":"self"}}],[11,"clone","","",6,null],[11,"clone","","",7,null],[11,"fmt","","",7,null],[11,"default","","",7,{"inputs":[],"output":{"name":"self"}}],[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`.",7,null],[11,"value_of_lossy","","Gets the lossy value of a specific argument. If the argument wasn't present at runtime\nit returns `None`. A lossy value is one which contains invalid UTF-8 code points, those\ninvalid points will be replaced with `\\u{FFFD}`",7,null],[11,"value_of_os","","Gets the OS version of a string value of a specific argument. If the option wasn't present\nat runtime it returns `None`. An OS value on Unix-like systems is any series of bytes,\nregardless of whether or not they contain valid UTF-8 code points. Since [`String`]s in\nRust are guaranteed to be valid UTF-8, a valid filename on a Unix system as an argument\nvalue may contain invalid UTF-8 code points.",7,null],[11,"values_of","","Gets a [`Values`] struct which implements [`Iterator`] for values of a specific argument\n(i.e. an argument that takes multiple values at runtime). If the option wasn't present at\nruntime it returns `None`",7,null],[11,"values_of_lossy","","Gets the lossy values of a specific argument. If the option wasn't present at runtime\nit returns `None`. A lossy value is one where if it contains invalid UTF-8 code points,\nthose invalid points will be replaced with `\\u{FFFD}`",7,null],[11,"values_of_os","","Gets a [`OsValues`] struct which is implements [`Iterator`] for [`OsString`] values of a\nspecific argument. If the option wasn't present at runtime it returns `None`. An OS value\non Unix-like systems is any series of bytes, regardless of whether or not they contain\nvalid UTF-8 code points. Since [`String`]s in Rust are guaranteed to be valid UTF-8, a valid\nfilename as an argument value on Linux (for example) may contain invalid UTF-8 code points.",7,null],[11,"is_present","","Returns `true` if an argument was present at runtime, otherwise `false`.",7,null],[11,"occurrences_of","","Returns the number of times an argument was used at runtime. If an argument isn't present\nit will return `0`.",7,null],[11,"subcommand_matches","","Because [`Subcommand`]s are essentially "sub-[`App`]s" they have their own [`ArgMatches`]\nas well. This method returns the [`ArgMatches`] for a particular subcommand or `None` if\nthe subcommand wasn't present at runtime.",7,null],[11,"subcommand_name","","Because [`Subcommand`]s are essentially "sub-[`App`]s" they have their own [`ArgMatches`]\nas well.But simply getting the sub-[`ArgMatches`] doesn't help much if we don't also know\nwhich subcommand was actually used. This method returns the name of the subcommand that was\nused at runtime, or `None` if one wasn't.",7,null],[11,"subcommand","","This brings together [`ArgMatches::subcommand_matches`] and [`ArgMatches::subcommand_name`]\nby returning a tuple with both pieces of information.",7,null],[11,"usage","","Returns a string slice of the usage statement for the [`App`] or [`SubCommand`]",7,null],[11,"clone","","",8,null],[11,"next","","",8,null],[11,"size_hint","","",8,null],[11,"next_back","","",8,null],[11,"clone","","",9,null],[11,"next","","",9,null],[11,"size_hint","","",9,null],[11,"next_back","","",9,null],[11,"clone","","",10,null],[11,"fmt","","",10,null],[11,"with_name","","Creates a new instance of a subcommand requiring a name. The name will be displayed\nto the user when they print version or help and usage information.",10,{"inputs":[{"name":"str"}],"output":{"name":"app"}}],[11,"default","","",11,{"inputs":[],"output":{"name":"arggroup"}}],[11,"with_name","","Creates a new instance of `ArgGroup` using a unique string name. The name will be used to\nget values from the group or refer to the group inside of conflict and requirement rules.",11,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"arg","","Adds an [argument] to this group by name",11,null],[11,"args","","Adds multiple [arguments] to this group by name",11,null],[11,"multiple","","Allows more than one of the ['Arg']s in this group to be used. (Default: `false`)",11,null],[11,"required","","Sets the group as required or not. 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 argument from this group *must* be present at runtime (unless\nconflicting with another argument).",11,null],[11,"requires","","Sets the requirement rules of this group. This is not to be confused with a\n[required group]. Requirement rules function just like [argument requirement rules], you\ncan name other arguments or groups that must be present when any one of the arguments from\nthis group is used.",11,null],[11,"requires_all","","Sets the requirement rules of this group. This is not to be confused with a\n[required group]. Requirement rules function just like [argument requirement rules], you\ncan name other arguments or groups that must be present when one of the arguments from this\ngroup is used.",11,null],[11,"conflicts_with","","Sets the exclusion rules of this group. Exclusion (aka conflict) rules function just like\n[argument exclusion rules], you can name other arguments or groups that must *not* be\npresent when one of the arguments from this group are used.",11,null],[11,"conflicts_with_all","","Sets the exclusion rules of this group. Exclusion rules function just like\n[argument exclusion rules], you can name other arguments or groups that must *not* be\npresent when one of the arguments from this group are used.",11,null],[11,"fmt","","",11,null],[11,"from","","",11,{"inputs":[{"name":"arggroup"}],"output":{"name":"self"}}],[11,"clone","","",11,null],[11,"clone","","",1,null],[11,"eq","","",1,null],[11,"fmt","","",1,null],[11,"from_str","","",1,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"eq","","",3,null],[11,"clone","","",3,null],[11,"fmt","","",3,null],[11,"fmt","","",0,null],[11,"use_stderr","","Should the message be written to `stdout` or not",0,null],[11,"exit","","Prints the error to `stderr` and exits with a status of `1`",0,null],[11,"description","","",0,null],[11,"fmt","","",0,null],[11,"from","","",0,{"inputs":[{"name":"error"}],"output":{"name":"self"}}],[11,"from","","",0,{"inputs":[{"name":"error"}],"output":{"name":"self"}}],[11,"clone","","",4,null],[11,"fmt","","",4,null],[6,"Result","","Short hand for [`Result`] type\n[`Result`]: https://doc.rust-lang.org/std/result/enum.Result.html",null,null],[14,"value_t!","","Convenience macro getting a typed value `T` where `T` implements [`std::str::FromStr`] from an\nargument value. This macro returns a `Result<T,String>` which allows you as the developer to\ndecide what 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). You can use\nit to get a single value, or a iterator as with the [`ArgMatches::values_of`]",null,null],[14,"value_t_or_exit!","","Convenience macro getting a typed value `T` where `T` implements [`std::str::FromStr`] or\nexiting upon error, instead of returning a [`Result`] type.",null,null],[14,"values_t!","","Convenience macro getting a typed value [`Vec<T>`] where `T` implements [`std::str::FromStr`]\nThis macro returns a [`clap::Result<Vec<T>>`] which allows you as the developer to decide\nwhat you'd like to do on a failed parse.",null,null],[14,"values_t_or_exit!","","Convenience macro getting a typed value [`Vec<T>`] where `T` implements [`std::str::FromStr`]\nor exiting upon error.",null,null],[14,"_clap_count_exprs!","","Counts the number of comma-delimited expressions passed to it. The result is a compile-time\nevaluable expression, suitable for use as a static array size, or the value of a `const`.",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\nretrieve a `Vec<&'static str>` of the variant names, as well as implementing [`FromStr`] and\n[`Display`] automatically.",null,null],[14,"crate_version!","","Allows you to pull the version from your Cargo.toml at compile time as\nMAJOR.MINOR.PATCH_PKGVERSION_PRE",null,null],[14,"crate_authors!","","Allows you to pull the authors for the app from your Cargo.toml at\ncompile time as\n"author1 lastname. <author1@example.com>",\n "author2 lastname. <author2@example.com>"",null,null]],"paths":[[3,"Error"],[4,"ArgSettings"],[4,"AppSettings"],[4,"ErrorKind"],[4,"Shell"],[3,"App"],[3,"Arg"],[3,"ArgMatches"],[3,"Values"],[3,"OsValues"],[3,"SubCommand"],[3,"ArgGroup"]]}; initSearch(searchIndex);