[package]
name = "cargo-e"
version = "0.2.1"
edition = "2021"
description = "e is for Example. A command-line tool for running and exploring source, examples, and binaries from Rust projects. It will run the first example, if no options are given."
license = "MIT OR Apache-2.0"
repository = "https://github.com/davehorner/cargo-e"
homepage = "https://github.com/davehorner/cargo-e"
documentation = "https://docs.rs/cargo-e"
readme = "README.md"
keywords = ["cargo", "examples", "binaries", "workspace", "rust"]
categories = ["command-line-utilities", "development-tools"]
authors = ["David Horner"]
default-run = "cargo-e"
include = [
"src/**",
"../addendum/**",
"documents/**",
"Cargo.toml",
"build.rs",
"build_docs.rs",
"build_readme.rs",
]
[features]
default = ["tui", "concurrent", "funny-docs","uses_reqwest","uses_serde","check-version","uses_genai"]
tui = ["crossterm", "ratatui"]
check-version = ["check-version-program-start"]
check-version-program-start = [
]
concurrent = ["dep:threadpool"]
equivalent = []
funny-docs = ["uses_paste"]
uses_reqwest = ["reqwest"]
uses_serde = ["serde", "serde_json"]
uses_paste = ["dep:paste"]
uses_genai = ["e_ai_summarize"]
[lib]
name = "cargo_e"
path = "src/lib.rs"
doctest = true
[[bin]]
name = "cargoe_ai_summarize"
path = "src/bin/cargoe_ai_summarize.rs"
required-features = ["uses_genai"]
[[bin]]
name = "cargo-e"
path = "src/main.rs"
[dependencies]
e_crate_version_checker = { path = "../addendum/e_crate_version_checker", version = "0.1.11" }
e_ai_summarize = { path = "../addendum/e_ai_summarize", version= "0.1.0", optional = true }
anyhow = "1.0.97"
clap = { version = "4.5.31", features = ["derive"] }
crossterm = { version = "0.28.1", optional = true }
ctrlc = "3.4.5"
futures = "0.3.31"
paste = { version = "1.0.15", optional = true }
ratatui = { version = "0.29.0", optional = true }
threadpool = { version = "1.8.1", optional = true }
toml = "0.8.20"
tracing = "0.1.41"
semver = { version = "1.0.26", optional = true }
reqwest = { version = "0.12.14", optional = true, features = ["blocking", "json"] }
serde = { version = "1.0", optional = true, features = ["derive"] }
serde_json = { version = "1.0", optional = true }
env_logger = "0.11.7"
log = "0.4.26"
once_cell = "1.21.1"
tokio = "1.44.1"
rustyline = "15.0.0"
which = "7.0.2"
[target.'cfg(unix)'.dependencies]
nix = "0.29.0"
[target.'cfg(windows)'.dependencies]
windows = { version = "0.61.1", features = ["Win32", "Win32_System_Console", "Win32_Foundation", "Win32_System_SystemServices"] }
[dev-dependencies]
assert_cmd = "2.0.16"
genai = "0.1.23"
predicate = "0.1.0"
predicates = "3.1.3"
regex = "1.11.1"
tempfile = "3.18.0"
tokio = "1.44.1"
tracing-subscriber = "0.3.19"
version-sync = "0.9.5"
[build-dependencies]
regex = "1.11.1"