[package] name = "cling" description = "A lightweight framework that simplifies building complex command-line applications with [clap.rs](https://clap.rs)" edition.workspace = true version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true categories = ["command-line-interface"] include = ["**/*.rs", "../README.md", "../LICENSE-*", "../examples"] readme = "../README.md" [dependencies] cling-derive = { path = "../cling-derive", version = "0.1", optional = true } clap = { version = "4", default-features = false, features = [ "std", "derive", ] } anyhow = { version = "1.0" } async-trait = { version = "0.1.77" } indoc = { version = "2.0" } itertools = { version = "0.12.1" } rustversion = "1.0.14" shlex = { version = "1.3.0", optional = true } static_assertions = { workspace = true } termcolor = { version = "1.4" } tracing = { version = "0.1.37", features = ["log"] } [dev-dependencies] tokio = { version = "1", features = ["full"] } trybuild = { version = "1.0.82" } trycmd = { version = "0.15.0", features = ["examples"] } # Only needed to fix an incorrect min version set in trycmd filetime = { version = "0.2.22" } # For examples rand = { version = "0.8.5" } rustyline = { version = "14.0.0" } colored = { version = "2.0" } # Use clap with default features in tests clap = { version = "4.3.21", default-features = true, features = ["derive"] } # For testing collecting external types clap-verbosity-flag = { version = "2.2.0" } env_logger = { version = "0.11.3" } log = { version = "0.4.20" } [build-dependencies] rustc_version = "0.4.0" [features] default = ["derive"] derive = ["dep:cling-derive"] [[example]] name = "complex" path = "../examples/complex.rs" [[example]] name = "simple" path = "../examples/simple.rs" [[example]] name = "simple-multi-command" path = "../examples/simple-multi-command.rs" [[example]] name = "bad-practice" path = "../examples/bad-practice.rs" [[example]] name = "projects" path = "../examples/projects.rs" [[example]] name = "repl" path = "../examples/repl.rs" required-features = ["shlex"] [[example]] name = "many-handlers" path = "../examples/many_handlers.rs" [[example]] name = "errors" path = "../examples/errors.rs" [package.metadata.docs.rs] all-features = true default-target = "x86_64-unknown-linux-gnu" cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]