# 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.63"
name = "indicatif"
version = "0.17.8"
exclude = ["screenshots/*"]
description = "A progress bar and cli reporting library for Rust"
documentation = "https://docs.rs/indicatif"
readme = "README.md"
keywords = [
    "cli",
    "progress",
    "pb",
    "colors",
    "progressbar",
]
categories = ["command-line-interface"]
license = "MIT"
repository = "https://github.com/console-rs/indicatif"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[dependencies.console]
version = "0.15"
features = ["ansi-parsing"]
default-features = false

[dependencies.futures-core]
version = "0.3"
optional = true
default-features = false

[dependencies.number_prefix]
version = "0.4"

[dependencies.portable-atomic]
version = "1.0.0"

[dependencies.rayon]
version = "1.1"
optional = true

[dependencies.tokio]
version = "1"
features = ["io-util"]
optional = true

[dependencies.unicode-segmentation]
version = "1"
optional = true

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

[dependencies.vt100]
version = "0.15.1"
optional = true

[dev-dependencies.clap]
version = "4"
features = [
    "color",
    "derive",
]

[dev-dependencies.futures]
version = "0.3"

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

[dev-dependencies.pretty_assertions]
version = "1.4.0"

[dev-dependencies.rand]
version = "0.8"

[dev-dependencies.tokio]
version = "1"
features = [
    "fs",
    "time",
    "rt",
]

[features]
default = [
    "unicode-width",
    "console/unicode-width",
]
futures = ["dep:futures-core"]
improved_unicode = [
    "unicode-segmentation",
    "unicode-width",
    "console/unicode-width",
]
in_memory = ["vt100"]

[target."cfg(target_arch = \"wasm32\")".dependencies.instant]
version = "0.1"
