# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.64.0"
name = "clap"
version = "4.1.4"
include = [
    "build.rs",
    "src/**/*",
    "Cargo.toml",
    "LICENSE*",
    "README.md",
    "benches/**/*",
    "examples/**/*",
]
description = "A simple to use, efficient, and full-featured Command Line Argument Parser"
readme = "README.md"
keywords = [
    "argument",
    "cli",
    "arg",
    "parser",
    "parse",
]
categories = ["command-line-interface"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/clap-rs/clap"

[package.metadata.docs.rs]
features = ["unstable-doc"]
rustdoc-args = [
    "--cfg",
    "docsrs",
]
cargo-args = [
    "-Zunstable-options",
    "-Zrustdoc-scrape-examples",
]

[package.metadata.playground]
features = ["unstable-doc"]

[package.metadata.release]
shared-version = true
tag-name = "v{{version}}"

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = "Unreleased"
replace = "{{version}}"
min = 1

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = '\.\.\.HEAD'
replace = "...{{tag_name}}"
exactly = 1

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = "ReleaseDate"
replace = "{{date}}"
min = 1

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = "<!-- next-header -->"
replace = """
<!-- next-header -->
## [Unreleased] - ReleaseDate
"""
exactly = 1

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
search = "<!-- next-url -->"
replace = """
<!-- next-url -->
[Unreleased]: https://github.com/clap-rs/clap/compare/{{tag_name}}...HEAD"""
exactly = 1

[profile.bench]
lto = true
codegen-units = 1

[profile.test]
opt-level = 1

[lib]
bench = false

[[example]]
name = "demo"
required-features = ["derive"]

[[example]]
name = "cargo-example"
required-features = ["cargo"]

[[example]]
name = "cargo-example-derive"
required-features = ["derive"]

[[example]]
name = "escaped-positional"
required-features = ["cargo"]

[[example]]
name = "escaped-positional-derive"
required-features = ["derive"]

[[example]]
name = "find"
required-features = ["cargo"]

[[example]]
name = "git-derive"
required-features = ["derive"]

[[example]]
name = "typed-derive"
required-features = ["derive"]

[[example]]
name = "busybox"
path = "examples/multicall-busybox.rs"

[[example]]
name = "hostname"
path = "examples/multicall-hostname.rs"

[[example]]
name = "repl"
path = "examples/repl.rs"
required-features = ["help"]

[[example]]
name = "01_quick"
path = "examples/tutorial_builder/01_quick.rs"
required-features = ["cargo"]

[[example]]
name = "02_apps"
path = "examples/tutorial_builder/02_apps.rs"

[[example]]
name = "02_crate"
path = "examples/tutorial_builder/02_crate.rs"
required-features = ["cargo"]

[[example]]
name = "02_app_settings"
path = "examples/tutorial_builder/02_app_settings.rs"
required-features = ["cargo"]

[[example]]
name = "03_01_flag_bool"
path = "examples/tutorial_builder/03_01_flag_bool.rs"
required-features = ["cargo"]

[[example]]
name = "03_01_flag_count"
path = "examples/tutorial_builder/03_01_flag_count.rs"
required-features = ["cargo"]

[[example]]
name = "03_02_option"
path = "examples/tutorial_builder/03_02_option.rs"
required-features = ["cargo"]

[[example]]
name = "03_02_option_mult"
path = "examples/tutorial_builder/03_02_option_mult.rs"
required-features = ["cargo"]

[[example]]
name = "03_03_positional"
path = "examples/tutorial_builder/03_03_positional.rs"
required-features = ["cargo"]

[[example]]
name = "03_03_positional_mult"
path = "examples/tutorial_builder/03_03_positional_mult.rs"
required-features = ["cargo"]

[[example]]
name = "03_04_subcommands"
path = "examples/tutorial_builder/03_04_subcommands.rs"
required-features = ["cargo"]

[[example]]
name = "03_05_default_values"
path = "examples/tutorial_builder/03_05_default_values.rs"
required-features = ["cargo"]

[[example]]
name = "04_01_possible"
path = "examples/tutorial_builder/04_01_possible.rs"
required-features = ["cargo"]

[[example]]
name = "04_01_enum"
path = "examples/tutorial_builder/04_01_enum.rs"
required-features = ["cargo"]

[[example]]
name = "04_02_parse"
path = "examples/tutorial_builder/04_02_parse.rs"
required-features = ["cargo"]

[[example]]
name = "04_02_validate"
path = "examples/tutorial_builder/04_02_validate.rs"
required-features = ["cargo"]

[[example]]
name = "04_03_relations"
path = "examples/tutorial_builder/04_03_relations.rs"
required-features = ["cargo"]

[[example]]
name = "04_04_custom"
path = "examples/tutorial_builder/04_04_custom.rs"
required-features = ["cargo"]

[[example]]
name = "05_01_assert"
path = "examples/tutorial_builder/05_01_assert.rs"
test = true
required-features = ["cargo"]

[[example]]
name = "01_quick_derive"
path = "examples/tutorial_derive/01_quick.rs"
required-features = ["derive"]

[[example]]
name = "02_apps_derive"
path = "examples/tutorial_derive/02_apps.rs"
required-features = ["derive"]

[[example]]
name = "02_crate_derive"
path = "examples/tutorial_derive/02_crate.rs"
required-features = ["derive"]

[[example]]
name = "02_app_settings_derive"
path = "examples/tutorial_derive/02_app_settings.rs"
required-features = ["derive"]

[[example]]
name = "03_01_flag_bool_derive"
path = "examples/tutorial_derive/03_01_flag_bool.rs"
required-features = ["derive"]

[[example]]
name = "03_01_flag_count_derive"
path = "examples/tutorial_derive/03_01_flag_count.rs"
required-features = ["derive"]

[[example]]
name = "03_02_option_derive"
path = "examples/tutorial_derive/03_02_option.rs"
required-features = ["derive"]

[[example]]
name = "03_02_option_mult_derive"
path = "examples/tutorial_derive/03_02_option_mult.rs"
required-features = ["derive"]

[[example]]
name = "03_03_positional_derive"
path = "examples/tutorial_derive/03_03_positional.rs"
required-features = ["derive"]

[[example]]
name = "03_03_positional_mult_derive"
path = "examples/tutorial_derive/03_03_positional_mult.rs"
required-features = ["derive"]

[[example]]
name = "03_04_subcommands_derive"
path = "examples/tutorial_derive/03_04_subcommands.rs"
required-features = ["derive"]

[[example]]
name = "03_04_subcommands_alt_derive"
path = "examples/tutorial_derive/03_04_subcommands_alt.rs"
required-features = ["derive"]

[[example]]
name = "03_05_default_values_derive"
path = "examples/tutorial_derive/03_05_default_values.rs"
required-features = ["derive"]

[[example]]
name = "04_01_enum_derive"
path = "examples/tutorial_derive/04_01_enum.rs"
required-features = ["derive"]

[[example]]
name = "04_02_parse_derive"
path = "examples/tutorial_derive/04_02_parse.rs"
required-features = ["derive"]

[[example]]
name = "04_02_validate_derive"
path = "examples/tutorial_derive/04_02_validate.rs"
required-features = ["derive"]

[[example]]
name = "04_03_relations_derive"
path = "examples/tutorial_derive/04_03_relations.rs"
required-features = ["derive"]

[[example]]
name = "04_04_custom_derive"
path = "examples/tutorial_derive/04_04_custom.rs"
required-features = ["derive"]

[[example]]
name = "05_01_assert_derive"
path = "examples/tutorial_derive/05_01_assert.rs"
test = true
required-features = ["derive"]

[[example]]
name = "interop_augment_args"
path = "examples/derive_ref/augment_args.rs"
required-features = ["derive"]

[[example]]
name = "interop_augment_subcommands"
path = "examples/derive_ref/augment_subcommands.rs"
required-features = ["derive"]

[[example]]
name = "interop_hand_subcommand"
path = "examples/derive_ref/hand_subcommand.rs"
required-features = ["derive"]

[[example]]
name = "interop_flatten_hand_args"
path = "examples/derive_ref/flatten_hand_args.rs"
required-features = ["derive"]

[dependencies.backtrace]
version = "0.3"
optional = true

[dependencies.bitflags]
version = "1.2"

[dependencies.clap_derive]
version = "=4.1.0"
optional = true

[dependencies.clap_lex]
version = "0.3.0"

[dependencies.is-terminal]
version = "0.4.1"
optional = true

[dependencies.once_cell]
version = "1.12.0"
optional = true

[dependencies.strsim]
version = "0.10"
optional = true

[dependencies.termcolor]
version = "1.1.1"
optional = true

[dependencies.terminal_size]
version = "0.2.1"
optional = true

[dependencies.unicase]
version = "2.6"
optional = true

[dependencies.unicode-width]
version = "0.1.9"
optional = true

[dev-dependencies.humantime]
version = "2"

[dev-dependencies.rustversion]
version = "1"

[dev-dependencies.shlex]
version = "1.1.0"

[dev-dependencies.snapbox]
version = "0.4"

[dev-dependencies.static_assertions]
version = "1.1.0"

[dev-dependencies.trybuild]
version = "1.0.73"

[dev-dependencies.trycmd]
version = "0.14.9"
features = [
    "color-auto",
    "diff",
    "examples",
]
default-features = false

[dev-dependencies.unic-emoji-char]
version = "0.9.0"

[features]
cargo = ["dep:once_cell"]
color = [
    "dep:is-terminal",
    "dep:termcolor",
]
debug = [
    "clap_derive?/debug",
    "dep:backtrace",
]
default = [
    "std",
    "color",
    "help",
    "usage",
    "error-context",
    "suggestions",
]
deprecated = ["clap_derive?/deprecated"]
derive = [
    "dep:clap_derive",
    "dep:once_cell",
]
env = []
error-context = []
help = []
std = []
string = []
suggestions = [
    "dep:strsim",
    "error-context",
]
unicode = [
    "dep:unicode-width",
    "dep:unicase",
]
unstable-doc = [
    "derive",
    "cargo",
    "wrap_help",
    "env",
    "unicode",
    "string",
    "unstable-replace",
]
unstable-grouped = []
unstable-replace = []
unstable-v5 = [
    "clap_derive?/unstable-v5",
    "deprecated",
]
usage = []
wrap_help = [
    "help",
    "dep:terminal_size",
]
