[package]
name = "cargo-e"
version = "0.3.2"
edition = "2021"
rust-version = "1.85.1"
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",
"uses_tts",
]
tui = ["crossterm", "ratatui"]
check-version = ["check-version-program-start"]
check-version-program-start = [
"dep:e_crate_version_checker",
"e_crate_version_checker/uses_reqwest",
"e_crate_version_checker/uses_serde",
"e_crate_version_checker/changelog",
]
concurrent = ["dep:threadpool"]
equivalent = [
]
funny-docs = [
"uses_paste",
"e_crate_version_checker/fortune",
"e_crate_version_checker/changelog",
]
uses_reqwest = ["reqwest"]
uses_serde = ["serde", "serde_json"]
uses_paste = ["dep:paste"]
uses_genai = ["e_ai_summarize"]
uses_tts = ["dep:tts"]
uses_plugins = ["uses_serde"]
uses_rhai = ["uses_plugins", "rhai"]
uses_lua = ["uses_plugins", "mlua", "uses_serde"]
uses_wasm = ["uses_plugins", "wasmtime", "wasmtime-wasi", "wasmparser"]
[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.35", optional = true }
e_ai_summarize = { path = "../addendum/e_ai_summarize", version = "0.1.22", optional = true }
anyhow = "1.0.98"
clap = { version = "4.5.32", features = ["derive"] }
crossterm = { version = "0.29.0", optional = true }
ctrlc = "3.5.0"
futures = "0.3.31"
paste = { version = "1.0.15", optional = true }
tts = { version = "0.26.3", optional = true }
ratatui = { version = "0.29.0", optional = true }
threadpool = { version = "1.8.1", optional = true }
toml = "0.9.8"
tracing = "0.1.41"
semver = { version = "1.0.26", optional = true }
reqwest = { version = "0.12.23", optional = true, features = [
"blocking",
"json",
] }
serde = { version = "1.0", optional = true, features = ["derive"] }
serde_json = { version = "1.0", optional = true }
env_logger = "0.11.8"
log = "0.4.28"
once_cell = "1.21.3"
tokio = "1.44.2"
rustyline = "17.0.2"
which = "8.0.0"
cargo_metadata = "0.23.0"
regex = "1.11.1"
open = "5.3.2"
sysinfo = "0.37.2"
chrono = "0.4.42"
nu-ansi-term = "0.50.1"
walkdir = "2.5.0"
rhai = { version = "1.21.0", optional = true }
mlua = { version = "0.11", features = ["lua54", "vendored"], optional = true }
wasmtime = { version = "37.0.2", optional = true }
wasmtime-wasi = { version = "37.0.2", optional = true }
wasmparser = { version = "0.240.0", optional = true }
glob = "0.3.2"
git2 = "0.20.1"
comfy-table = "7.1.4"
dashmap = "6.1.0"
lazy_static = "1.5.0"
[target.'cfg(unix)'.dependencies]
nix = { version = "0.30.1", features = ["process", "signal"] }
libc = "0.2.172"
[target.'cfg(windows)'.dependencies]
windows = { version = "0.62.2", features = [
"Win32",
"Win32_System_Console",
"Win32_Foundation",
"Win32_System_SystemServices",
"Win32_System_Threading",
"Win32_Security",
"Win32_Security_Authorization",
] }
[dev-dependencies]
assert_cmd = "2.0.16"
genai = "0.4.1"
predicate = "0.1.0"
predicates = "3.1.3"
regex = "1.11.1"
tempfile = "3.18.0"
tokio = "1.44.2"
tracing-subscriber = "0.3.19"
version-sync = "0.9.5"
parse-changelog = "0.6"
[build-dependencies]
regex = "1.11.1"