[package]
edition = "2024"
name = "yosh"
version = "0.2.6"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A POSIX-compliant shell implemented in Rust"
readme = false
license = "MIT"
repository = "https://github.com/k-ymmt/yosh"
[features]
dhat-heap = ["dep:dhat"]
test-helpers = []
[lib]
name = "yosh"
path = "src/lib.rs"
[[bin]]
name = "yosh"
path = "src/main.rs"
[[bin]]
name = "yosh-dhat"
path = "src/bin/yosh-dhat.rs"
[[bin]]
name = "yosh-plugin"
path = "src/bin/yosh-plugin.rs"
[[test]]
name = "cli_help"
path = "tests/cli_help.rs"
[[test]]
name = "errexit"
path = "tests/errexit.rs"
[[test]]
name = "history"
path = "tests/history.rs"
[[test]]
name = "ignored_on_entry"
path = "tests/ignored_on_entry.rs"
[[test]]
name = "interactive"
path = "tests/interactive.rs"
[[test]]
name = "parser_integration"
path = "tests/parser_integration.rs"
[[test]]
name = "plugin"
path = "tests/plugin.rs"
required-features = ["test-helpers"]
[[test]]
name = "plugin_cli_help"
path = "tests/plugin_cli_help.rs"
[[test]]
name = "pty_interactive"
path = "tests/pty_interactive.rs"
[[test]]
name = "signals"
path = "tests/signals.rs"
[[test]]
name = "subshell"
path = "tests/subshell.rs"
[[bench]]
name = "exec_bench"
path = "benches/exec_bench.rs"
harness = false
[[bench]]
name = "expand_bench"
path = "benches/expand_bench.rs"
harness = false
[[bench]]
name = "interactive_smoke"
path = "benches/interactive_smoke.rs"
harness = false
[[bench]]
name = "lexer_bench"
path = "benches/lexer_bench.rs"
harness = false
[[bench]]
name = "parser_bench"
path = "benches/parser_bench.rs"
harness = false
[[bench]]
name = "plugin_bench"
path = "benches/plugin_bench.rs"
harness = false
required-features = ["test-helpers"]
[[bench]]
name = "plugin_bench_helpers"
path = "benches/plugin_bench_helpers.rs"
[[bench]]
name = "startup_bench"
path = "benches/startup_bench.rs"
harness = false
[dependencies.crossterm]
version = "0.29"
[dependencies.dhat]
version = "0.3"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.libc]
version = "0.2"
[dependencies.nix]
version = "0.31"
features = [
"signal",
"process",
"fs",
"poll",
"term",
"user",
]
[dependencies.owo-colors]
version = "4"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.sha2]
version = "0.10"
[dependencies.toml]
version = "0.8"
[dependencies.unicode-width]
version = "0.2"
[dependencies.wasmtime]
version = "27"
features = [
"component-model",
"cranelift",
"cache",
"runtime",
]
default-features = false
[dependencies.wasmtime-wasi]
version = "27"
default-features = false
[dependencies.yosh-plugin-api]
version = "0.2.6"
[dependencies.yosh-plugin-manager]
version = "0.2.6"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.crossterm]
version = "0.29"
[dev-dependencies.expectrl]
version = "0.8"
[dev-dependencies.tempfile]
version = "3"
[profile.profiling]
debug = 2
inherits = "release"
strip = false
[profile.release.package.perf_plugin]
opt-level = "s"
strip = true
[profile.release.package.slow_plugin]
opt-level = "s"
strip = true
[profile.release.package.test_plugin]
opt-level = "s"
strip = true
[profile.release.package.trap_plugin]
opt-level = "s"
strip = true