# 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 = "2018"
name = "structopt"
version = "0.3.26"
authors = ["Guillaume Pinot <texitoi@texitoi.eu>", "others"]
description = "Parse command line argument by defining a struct."
documentation = "https://docs.rs/structopt"
readme = "README.md"
keywords = ["clap", "cli", "derive", "docopt"]
categories = ["command-line-interface"]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/TeXitoi/structopt"
[dependencies.clap]
version = "2.33"
default-features = false

[dependencies.lazy_static]
version = "1.4.0"

[dependencies.paw_dep]
version = "1"
optional = true
package = "paw"

[dependencies.structopt-derive]
version = "=0.4.18"
[dev-dependencies.rustversion]
version = "1"

[dev-dependencies.strum]
version = "0.21"
features = ["derive"]

[dev-dependencies.trybuild]
version = "1.0.5"
features = ["diff"]

[features]
color = ["clap/color"]
debug = ["clap/debug"]
default = ["clap/default"]
doc = ["clap/doc"]
lints = ["clap/lints"]
no_cargo = ["clap/no_cargo"]
paw = ["structopt-derive/paw", "paw_dep"]
suggestions = ["clap/suggestions"]
wrap_help = ["clap/wrap_help"]
yaml = ["clap/yaml"]
[badges.travis-ci]
repository = "TeXitoi/structopt"
