[package]
name = "cargo-e"
version = "0.2.19"
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"]
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_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.20", optional = true }
e_ai_summarize = { path = "../addendum/e_ai_summarize", version = "0.1.10", optional = true }
anyhow = "1.0.97"
clap = { version = "4.5.31", features = ["derive"] }
crossterm = { version = "0.29.0", 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.15", 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"
cargo_metadata = "0.19.2"
regex = "1.11.1"
open = "5.3.2"
sysinfo = "0.34.2"
chrono = "0.4.40"
nu-ansi-term = "0.50.1"
walkdir = "2.5.0"
rhai = { version = "1.21.0", optional = true }
mlua = { version = "0.10", features = ["lua54", "vendored"], optional = true }
wasmtime = { version = "31.0.0", optional = true }
wasmtime-wasi = { version = "31", features = ["preview1"], optional = true }
wasmparser = { version = "0.229.0", optional = true }
glob = "0.3.2"
git2 = "0.20.1"
comfy-table = "7.1.4"
[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.2"
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"
parse-changelog = "0.6"
[build-dependencies]
regex = "1.11.1"