gitextract_6cj3b3in/ ├── .cargo/ │ └── config.toml ├── .clippy.toml ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── renovate.json5 │ ├── settings.yml │ └── workflows/ │ ├── audit.yml │ ├── bench-baseline.yml │ ├── ci.yml │ ├── committed.yml │ ├── post-release.yml │ ├── pre-commit.yml │ ├── release-notes.py │ ├── rust-next.yml │ ├── spelling.yml │ └── template.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CHANGELOG.md ├── CITATION.cff ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── Makefile ├── README.md ├── clap_bench/ │ ├── Cargo.toml │ ├── benches/ │ │ ├── complex.rs │ │ ├── empty.rs │ │ ├── ripgrep.rs │ │ ├── rustup.rs │ │ └── simple.rs │ └── src/ │ └── lib.rs ├── clap_builder/ │ ├── CONTRIBUTING.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── builder/ │ │ ├── action.rs │ │ ├── app_settings.rs │ │ ├── arg.rs │ │ ├── arg_group.rs │ │ ├── arg_predicate.rs │ │ ├── arg_settings.rs │ │ ├── command.rs │ │ ├── debug_asserts.rs │ │ ├── ext.rs │ │ ├── mod.rs │ │ ├── os_str.rs │ │ ├── possible_value.rs │ │ ├── range.rs │ │ ├── resettable.rs │ │ ├── str.rs │ │ ├── styled_str.rs │ │ ├── styling.rs │ │ ├── tests.rs │ │ ├── value_hint.rs │ │ └── value_parser.rs │ ├── derive.rs │ ├── error/ │ │ ├── context.rs │ │ ├── format.rs │ │ ├── kind.rs │ │ └── mod.rs │ ├── lib.rs │ ├── macros.rs │ ├── mkeymap.rs │ ├── output/ │ │ ├── fmt.rs │ │ ├── help.rs │ │ ├── help_template.rs │ │ ├── mod.rs │ │ ├── textwrap/ │ │ │ ├── core.rs │ │ │ ├── mod.rs │ │ │ ├── word_separators.rs │ │ │ └── wrap_algorithms.rs │ │ └── usage.rs │ ├── parser/ │ │ ├── arg_matcher.rs │ │ ├── error.rs │ │ ├── features/ │ │ │ ├── mod.rs │ │ │ └── suggestions.rs │ │ ├── matches/ │ │ │ ├── arg_matches.rs │ │ │ ├── matched_arg.rs │ │ │ ├── mod.rs │ │ │ └── value_source.rs │ │ ├── mod.rs │ │ ├── parser.rs │ │ └── validator.rs │ └── util/ │ ├── any_value.rs │ ├── color.rs │ ├── escape.rs │ ├── flat_map.rs │ ├── flat_set.rs │ ├── graph.rs │ ├── id.rs │ ├── mod.rs │ └── str_to_bool.rs ├── clap_complete/ │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Cargo.toml │ ├── README.md │ ├── examples/ │ │ ├── completion-derive.rs │ │ ├── completion.rs │ │ ├── dynamic.rs │ │ └── exhaustive.rs │ ├── src/ │ │ ├── aot/ │ │ │ ├── generator/ │ │ │ │ ├── mod.rs │ │ │ │ └── utils.rs │ │ │ ├── mod.rs │ │ │ └── shells/ │ │ │ ├── bash.rs │ │ │ ├── elvish.rs │ │ │ ├── fish.rs │ │ │ ├── mod.rs │ │ │ ├── powershell.rs │ │ │ ├── shell.rs │ │ │ └── zsh.rs │ │ ├── engine/ │ │ │ ├── candidate.rs │ │ │ ├── complete.rs │ │ │ ├── custom.rs │ │ │ └── mod.rs │ │ ├── env/ │ │ │ ├── mod.rs │ │ │ └── shells.rs │ │ ├── lib.rs │ │ └── macros.rs │ └── tests/ │ ├── examples.rs │ ├── snapshots/ │ │ ├── aliases.bash │ │ ├── aliases.elvish │ │ ├── aliases.fish │ │ ├── aliases.ps1 │ │ ├── aliases.zsh │ │ ├── basic.bash │ │ ├── basic.elvish │ │ ├── basic.fish │ │ ├── basic.ps1 │ │ ├── basic.zsh │ │ ├── custom_bin_name.bash │ │ ├── custom_bin_name.elvish │ │ ├── custom_bin_name.fish │ │ ├── custom_bin_name.ps1 │ │ ├── custom_bin_name.zsh │ │ ├── external_subcommands.bash │ │ ├── external_subcommands.elvish │ │ ├── external_subcommands.fish │ │ ├── external_subcommands.ps1 │ │ ├── external_subcommands.zsh │ │ ├── feature_sample.bash │ │ ├── feature_sample.elvish │ │ ├── feature_sample.fish │ │ ├── feature_sample.ps1 │ │ ├── feature_sample.zsh │ │ ├── home/ │ │ │ ├── .gitignore │ │ │ ├── dynamic-env/ │ │ │ │ └── exhaustive/ │ │ │ │ ├── bash/ │ │ │ │ │ └── .bashrc │ │ │ │ ├── elvish/ │ │ │ │ │ └── elvish/ │ │ │ │ │ └── rc.elv │ │ │ │ ├── fish/ │ │ │ │ │ └── fish/ │ │ │ │ │ ├── completions/ │ │ │ │ │ │ └── exhaustive.fish │ │ │ │ │ └── config.fish │ │ │ │ └── zsh/ │ │ │ │ ├── .zshenv │ │ │ │ └── zsh/ │ │ │ │ └── _exhaustive │ │ │ └── static/ │ │ │ └── exhaustive/ │ │ │ ├── bash/ │ │ │ │ ├── .bashrc │ │ │ │ └── .inputrc │ │ │ ├── elvish/ │ │ │ │ └── elvish/ │ │ │ │ └── rc.elv │ │ │ ├── fish/ │ │ │ │ └── fish/ │ │ │ │ ├── completions/ │ │ │ │ │ └── exhaustive.fish │ │ │ │ └── config.fish │ │ │ ├── powershell/ │ │ │ │ └── powershell/ │ │ │ │ └── Microsoft.PowerShell_profile.ps1 │ │ │ └── zsh/ │ │ │ ├── .zshenv │ │ │ └── zsh/ │ │ │ └── _exhaustive │ │ ├── multi_value_option.bash │ │ ├── multi_value_option.elvish │ │ ├── multi_value_option.fish │ │ ├── multi_value_option.ps1 │ │ ├── multi_value_option.zsh │ │ ├── optional_multi_value_option.bash │ │ ├── optional_multi_value_option.elvish │ │ ├── optional_multi_value_option.fish │ │ ├── optional_multi_value_option.ps1 │ │ ├── optional_multi_value_option.zsh │ │ ├── optional_value_option.bash │ │ ├── optional_value_option.elvish │ │ ├── optional_value_option.fish │ │ ├── optional_value_option.ps1 │ │ ├── optional_value_option.zsh │ │ ├── quoting.bash │ │ ├── quoting.elvish │ │ ├── quoting.fish │ │ ├── quoting.ps1 │ │ ├── quoting.zsh │ │ ├── register_dynamic.fish │ │ ├── register_minimal.bash │ │ ├── special_commands.bash │ │ ├── special_commands.elvish │ │ ├── special_commands.fish │ │ ├── special_commands.ps1 │ │ ├── special_commands.zsh │ │ ├── sub_subcommands.bash │ │ ├── sub_subcommands.elvish │ │ ├── sub_subcommands.fish │ │ ├── sub_subcommands.ps1 │ │ ├── sub_subcommands.zsh │ │ ├── subcommand_last.bash │ │ ├── subcommand_last.elvish │ │ ├── subcommand_last.fish │ │ ├── subcommand_last.ps1 │ │ ├── subcommand_last.zsh │ │ ├── two_multi_valued_arguments.bash │ │ ├── two_multi_valued_arguments.elvish │ │ ├── two_multi_valued_arguments.fish │ │ ├── two_multi_valued_arguments.ps1 │ │ ├── two_multi_valued_arguments.zsh │ │ ├── value_hint.bash │ │ ├── value_hint.elvish │ │ ├── value_hint.fish │ │ ├── value_hint.ps1 │ │ ├── value_hint.zsh │ │ ├── value_terminator.bash │ │ ├── value_terminator.elvish │ │ ├── value_terminator.fish │ │ ├── value_terminator.ps1 │ │ └── value_terminator.zsh │ └── testsuite/ │ ├── bash.rs │ ├── common.rs │ ├── elvish.rs │ ├── engine.rs │ ├── fish.rs │ ├── general.rs │ ├── main.rs │ ├── powershell.rs │ └── zsh.rs ├── clap_complete_nushell/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── examples/ │ │ ├── nushell_completion.rs │ │ ├── sub_subcommands.rs │ │ └── test.rs │ ├── src/ │ │ └── lib.rs │ └── tests/ │ ├── common.rs │ ├── completion.rs │ ├── nushell.rs │ └── snapshots/ │ ├── aliases.nu │ ├── basic.nu │ ├── feature_sample.nu │ ├── home/ │ │ └── static/ │ │ └── test/ │ │ └── nu/ │ │ └── .config/ │ │ └── nushell/ │ │ ├── completions/ │ │ │ └── test.nu │ │ └── config.nu │ ├── positional_index.nu │ ├── quoting.nu │ ├── special_commands.nu │ ├── sub_subcommands.nu │ └── value_hint.nu ├── clap_derive/ │ ├── CONTRIBUTING.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── attr.rs │ ├── derives/ │ │ ├── args.rs │ │ ├── into_app.rs │ │ ├── mod.rs │ │ ├── parser.rs │ │ ├── subcommand.rs │ │ └── value_enum.rs │ ├── dummies.rs │ ├── item.rs │ ├── lib.rs │ ├── macros.rs │ └── utils/ │ ├── doc_comments.rs │ ├── error.rs │ ├── mod.rs │ ├── spanned.rs │ └── ty.rs ├── clap_lex/ │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Cargo.toml │ ├── README.md │ ├── src/ │ │ ├── ext.rs │ │ └── lib.rs │ └── tests/ │ └── testsuite/ │ ├── lexer.rs │ ├── main.rs │ ├── parsed.rs │ └── shorts.rs ├── clap_mangen/ │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── Cargo.toml │ ├── README.md │ ├── examples/ │ │ └── man.rs │ ├── src/ │ │ ├── lib.rs │ │ └── render.rs │ └── tests/ │ ├── snapshots/ │ │ ├── aliases.bash.roff │ │ ├── basic.bash.roff │ │ ├── configured_display_order_args.roff │ │ ├── configured_subcmd_order.roff │ │ ├── default_subcmd_order.roff │ │ ├── feature_sample.bash.roff │ │ ├── help_headings.bash.roff │ │ ├── hidden_option.bash.roff │ │ ├── multiple_optional_values.bash.roff │ │ ├── optional_value.bash.roff │ │ ├── optional_with_required_equals_value.bash.roff │ │ ├── possible_values.bash.roff │ │ ├── quoting.bash.roff │ │ ├── special_commands.bash.roff │ │ ├── sub_subcommand_help.roff │ │ ├── sub_subcommands.bash.roff │ │ ├── value_env.bash.roff │ │ ├── value_hint.bash.roff │ │ ├── value_name_without_arg.bash.roff │ │ ├── value_with_required_equals.bash.roff │ │ └── variadic_values.bash.roff │ └── testsuite/ │ ├── common.rs │ ├── main.rs │ └── roff.rs ├── committed.toml ├── deny.toml ├── examples/ │ ├── README.md │ ├── cargo-example-derive.md │ ├── cargo-example-derive.rs │ ├── cargo-example.md │ ├── cargo-example.rs │ ├── demo.md │ ├── demo.rs │ ├── derive_ref/ │ │ ├── augment_args.rs │ │ ├── augment_subcommands.rs │ │ ├── flatten_hand_args.rs │ │ ├── hand_subcommand.rs │ │ └── interop_tests.md │ ├── escaped-positional-derive.md │ ├── escaped-positional-derive.rs │ ├── escaped-positional.md │ ├── escaped-positional.rs │ ├── find.md │ ├── find.rs │ ├── git-derive.md │ ├── git-derive.rs │ ├── git.md │ ├── git.rs │ ├── multicall-busybox.md │ ├── multicall-busybox.rs │ ├── multicall-hostname.md │ ├── multicall-hostname.rs │ ├── pacman.md │ ├── pacman.rs │ ├── repl-derive.rs │ ├── repl.rs │ ├── tutorial_builder/ │ │ ├── 01_quick.md │ │ ├── 01_quick.rs │ │ ├── 02_app_settings.md │ │ ├── 02_app_settings.rs │ │ ├── 02_apps.md │ │ ├── 02_apps.rs │ │ ├── 02_crate.md │ │ ├── 02_crate.rs │ │ ├── 03_01_flag_bool.md │ │ ├── 03_01_flag_bool.rs │ │ ├── 03_01_flag_count.md │ │ ├── 03_01_flag_count.rs │ │ ├── 03_02_option.md │ │ ├── 03_02_option.rs │ │ ├── 03_02_option_mult.md │ │ ├── 03_02_option_mult.rs │ │ ├── 03_03_positional.md │ │ ├── 03_03_positional.rs │ │ ├── 03_03_positional_mult.md │ │ ├── 03_03_positional_mult.rs │ │ ├── 03_04_subcommands.md │ │ ├── 03_04_subcommands.rs │ │ ├── 03_05_default_values.md │ │ ├── 03_05_default_values.rs │ │ ├── 03_06_required.md │ │ ├── 03_06_required.rs │ │ ├── 04_01_enum.md │ │ ├── 04_01_enum.rs │ │ ├── 04_01_possible.md │ │ ├── 04_01_possible.rs │ │ ├── 04_02_parse.md │ │ ├── 04_02_parse.rs │ │ ├── 04_02_validate.md │ │ ├── 04_02_validate.rs │ │ ├── 04_03_relations.md │ │ ├── 04_03_relations.rs │ │ ├── 04_04_custom.md │ │ ├── 04_04_custom.rs │ │ └── 05_01_assert.rs │ ├── tutorial_derive/ │ │ ├── 01_quick.md │ │ ├── 01_quick.rs │ │ ├── 02_app_settings.md │ │ ├── 02_app_settings.rs │ │ ├── 02_apps.md │ │ ├── 02_apps.rs │ │ ├── 02_crate.md │ │ ├── 02_crate.rs │ │ ├── 03_01_flag_bool.md │ │ ├── 03_01_flag_bool.rs │ │ ├── 03_01_flag_count.md │ │ ├── 03_01_flag_count.rs │ │ ├── 03_02_option.md │ │ ├── 03_02_option.rs │ │ ├── 03_02_option_mult.md │ │ ├── 03_02_option_mult.rs │ │ ├── 03_03_positional.md │ │ ├── 03_03_positional.rs │ │ ├── 03_03_positional_mult.md │ │ ├── 03_03_positional_mult.rs │ │ ├── 03_04_subcommands.md │ │ ├── 03_04_subcommands.rs │ │ ├── 03_04_subcommands_alt.rs │ │ ├── 03_05_default_values.md │ │ ├── 03_05_default_values.rs │ │ ├── 03_06_optional.md │ │ ├── 03_06_optional.rs │ │ ├── 04_01_enum.md │ │ ├── 04_01_enum.rs │ │ ├── 04_02_parse.md │ │ ├── 04_02_parse.rs │ │ ├── 04_02_validate.md │ │ ├── 04_02_validate.rs │ │ ├── 04_03_relations.md │ │ ├── 04_03_relations.rs │ │ ├── 04_04_custom.md │ │ ├── 04_04_custom.rs │ │ └── 05_01_assert.rs │ └── typed-derive/ │ ├── builtin.md │ ├── builtin.rs │ ├── custom.md │ ├── custom.rs │ ├── fn_parser.md │ ├── fn_parser.rs │ ├── foreign_crate.rs │ ├── implicit.md │ ├── implicit.rs │ └── main.rs ├── release.toml ├── src/ │ ├── _concepts.rs │ ├── _cookbook/ │ │ ├── cargo_example.rs │ │ ├── cargo_example_derive.rs │ │ ├── escaped_positional.rs │ │ ├── escaped_positional_derive.rs │ │ ├── find.rs │ │ ├── git.rs │ │ ├── git_derive.rs │ │ ├── mod.rs │ │ ├── multicall_busybox.rs │ │ ├── multicall_hostname.rs │ │ ├── pacman.rs │ │ ├── repl.rs │ │ ├── repl_derive.rs │ │ └── typed_derive.rs │ ├── _derive/ │ │ ├── _tutorial.rs │ │ └── mod.rs │ ├── _faq.rs │ ├── _features.rs │ ├── _tutorial.rs │ ├── bin/ │ │ └── stdio-fixture.rs │ └── lib.rs ├── tests/ │ ├── builder/ │ │ ├── action.rs │ │ ├── app_settings.rs │ │ ├── arg_aliases.rs │ │ ├── arg_aliases_short.rs │ │ ├── arg_matches.rs │ │ ├── borrowed.rs │ │ ├── cargo.rs │ │ ├── command.rs │ │ ├── conflicts.rs │ │ ├── default_missing_vals.rs │ │ ├── default_vals.rs │ │ ├── delimiters.rs │ │ ├── derive_order.rs │ │ ├── display_order.rs │ │ ├── double_require.rs │ │ ├── empty_values.rs │ │ ├── env.rs │ │ ├── error.rs │ │ ├── flag_subcommands.rs │ │ ├── flags.rs │ │ ├── global_args.rs │ │ ├── groups.rs │ │ ├── help.rs │ │ ├── help_env.rs │ │ ├── hidden_args.rs │ │ ├── ignore_errors.rs │ │ ├── indices.rs │ │ ├── macros.rs │ │ ├── main.rs │ │ ├── multiple_occurrences.rs │ │ ├── multiple_values.rs │ │ ├── occurrences.rs │ │ ├── opts.rs │ │ ├── positionals.rs │ │ ├── posix_compatible.rs │ │ ├── possible_values.rs │ │ ├── propagate_globals.rs │ │ ├── require.rs │ │ ├── subcommands.rs │ │ ├── template_help.rs │ │ ├── tests.rs │ │ ├── unicode.rs │ │ ├── unique_args.rs │ │ ├── utf16.rs │ │ ├── utf8.rs │ │ ├── utils.rs │ │ └── version.rs │ ├── derive/ │ │ ├── app_name.rs │ │ ├── arguments.rs │ │ ├── author_version_about.rs │ │ ├── basic.rs │ │ ├── boxed.rs │ │ ├── custom_string_parsers.rs │ │ ├── default_value.rs │ │ ├── deny_warnings.rs │ │ ├── doc_comments_help.rs │ │ ├── explicit_name_no_renaming.rs │ │ ├── flags.rs │ │ ├── flatten.rs │ │ ├── generic.rs │ │ ├── groups.rs │ │ ├── help.rs │ │ ├── issues.rs │ │ ├── macros.rs │ │ ├── main.rs │ │ ├── markdown.rs │ │ ├── naming.rs │ │ ├── nested_subcommands.rs │ │ ├── non_literal_attributes.rs │ │ ├── occurrences.rs │ │ ├── options.rs │ │ ├── privacy.rs │ │ ├── raw_bool_literal.rs │ │ ├── raw_idents.rs │ │ ├── rename_all_env.rs │ │ ├── skip.rs │ │ ├── subcommands.rs │ │ ├── type_alias_regressions.rs │ │ ├── utf8.rs │ │ ├── utils.rs │ │ └── value_enum.rs │ ├── derive_ui/ │ │ ├── bool_value_enum.rs │ │ ├── bool_value_enum.stderr │ │ ├── clap_empty_attr.rs │ │ ├── clap_empty_attr.stderr │ │ ├── default_value_t_invalid.rs │ │ ├── default_value_t_invalid.stderr │ │ ├── default_values_t_invalid.rs │ │ ├── default_values_t_invalid.stderr │ │ ├── enum_flatten.rs │ │ ├── enum_flatten.stderr │ │ ├── enum_variant_not_args.rs │ │ ├── enum_variant_not_args.stderr │ │ ├── external_subcommand_misuse.rs │ │ ├── external_subcommand_misuse.stderr │ │ ├── external_subcommand_wrong_type.rs │ │ ├── external_subcommand_wrong_type.stderr │ │ ├── flatten_and_methods.rs │ │ ├── flatten_and_methods.stderr │ │ ├── flatten_enum_in_struct.rs │ │ ├── flatten_enum_in_struct.stderr │ │ ├── flatten_struct_in_enum.rs │ │ ├── flatten_struct_in_enum.stderr │ │ ├── group_name_attribute.rs │ │ ├── group_name_attribute.stderr │ │ ├── multiple_external_subcommand.rs │ │ ├── multiple_external_subcommand.stderr │ │ ├── non_existent_attr.rs │ │ ├── non_existent_attr.stderr │ │ ├── rename_all_wrong_casing.rs │ │ ├── rename_all_wrong_casing.stderr │ │ ├── skip_flatten.rs │ │ ├── skip_flatten.stderr │ │ ├── skip_subcommand.rs │ │ ├── skip_subcommand.stderr │ │ ├── skip_with_other_options.rs │ │ ├── skip_with_other_options.stderr │ │ ├── skip_without_default.rs │ │ ├── skip_without_default.stderr │ │ ├── struct_subcommand.rs │ │ ├── struct_subcommand.stderr │ │ ├── subcommand_and_flatten.rs │ │ ├── subcommand_and_flatten.stderr │ │ ├── subcommand_and_methods.rs │ │ ├── subcommand_and_methods.stderr │ │ ├── subcommand_on_struct.rs │ │ ├── subcommand_on_struct.stderr │ │ ├── subcommand_opt_opt.rs │ │ ├── subcommand_opt_opt.stderr │ │ ├── subcommand_opt_vec.rs │ │ ├── subcommand_opt_vec.stderr │ │ ├── tuple_struct.rs │ │ ├── tuple_struct.stderr │ │ ├── value_enum_non_unit.rs │ │ ├── value_enum_non_unit.stderr │ │ ├── value_enum_on_struct.rs │ │ ├── value_enum_on_struct.stderr │ │ ├── value_parser_unsupported.rs │ │ └── value_parser_unsupported.stderr │ ├── derive_ui.rs │ ├── examples.rs │ ├── macros.rs │ ├── ui/ │ │ ├── V_flag_stdout.toml │ │ ├── arg_required_else_help_stderr.toml │ │ ├── error_stderr.toml │ │ ├── h_flag_stdout.toml │ │ ├── help_cmd_stdout.toml │ │ ├── help_flag_stdout.toml │ │ └── version_flag_stdout.toml │ └── ui.rs └── typos.toml