# 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.74"
name = "clap_builder"
version = "4.5.2"
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]
cargo-args = [
    "-Zunstable-options",
    "-Zrustdoc-scrape-examples",
]
features = ["unstable-doc"]
rustdoc-args = [
    "--cfg",
    "docsrs",
]

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

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

[lib]
bench = false

[dependencies.anstream]
version = "0.6.7"
optional = true

[dependencies.anstyle]
version = "1.0.0"

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

[dependencies.clap_lex]
version = "0.7.0"

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

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

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

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

[dev-dependencies.color-print]
version = "0.3.5"

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

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

[features]
cargo = []
color = ["dep:anstream"]
debug = ["dep:backtrace"]
default = [
    "std",
    "color",
    "help",
    "usage",
    "error-context",
    "suggestions",
]
deprecated = []
env = []
error-context = []
help = []
std = ["anstyle/std"]
string = []
suggestions = [
    "dep:strsim",
    "error-context",
]
unicode = [
    "dep:unicode-width",
    "dep:unicase",
]
unstable-doc = [
    "cargo",
    "wrap_help",
    "env",
    "unicode",
    "string",
]
unstable-styles = ["color"]
unstable-v5 = ["deprecated"]
usage = []
wrap_help = [
    "help",
    "dep:terminal_size",
]
