brush-shell 0.2.22

Rust-implemented shell focused on POSIX and bash compatibility
Documentation
[[bin]]
bench = false
name = "brush"
path = "src/main.rs"

[dependencies.brush-core]
version = "^0.3.5"

[dependencies.clap]
features = ["derive", "env"]
version = "4.5.45"

[dependencies.color-print]
version = "0.3.7"

[dependencies.const_format]
version = "0.2.34"

[dependencies.git-version]
version = "0.3.9"

[dependencies.human-panic]
version = "2.0.3"

[dependencies.tracing]
version = "0.1.41"

[dependencies.tracing-subscriber]
version = "0.3.20"

[dev-dependencies.anyhow]
version = "1.0.98"

[dev-dependencies.assert_cmd]
version = "2.0.17"

[dev-dependencies.assert_fs]
version = "1.1.3"

[dev-dependencies.colored]
version = "3.0.0"

[dev-dependencies.descape]
version = "3.0.0"

[dev-dependencies.diff]
version = "0.1.13"

[dev-dependencies.glob]
version = "0.3.2"

[dev-dependencies.indent]
version = "0.1.1"

[dev-dependencies.junit-report]
version = "0.8.3"

[dev-dependencies.pretty_assertions]
features = ["unstable"]
version = "1.4.1"

[dev-dependencies.regex]
version = "1.11.2"

[dev-dependencies.serde]
features = ["derive"]
version = "1.0.219"

[dev-dependencies.serde_yaml]
version = "0.9.34"

[dev-dependencies.strip-ansi-escapes]
version = "0.2.1"

[dev-dependencies.test-with]
default-features = false
features = ["executable"]
version = "0.15.3"

[dev-dependencies.version-compare]
version = "0.2.0"

[dev-dependencies.walkdir]
version = "2.5.0"

[features]
basic = ["brush-interactive/basic"]
default = ["basic", "reedline", "minimal"]
minimal = ["brush-interactive/minimal"]
reedline = ["brush-interactive/reedline"]

[lib]
name = "brush_shell"
path = "src/lib.rs"

[lints.clippy]
bool_to_int_with_if = "allow"
cognitive_complexity = "allow"
collapsible_else_if = "allow"
collapsible_if = "allow"
expect_used = "deny"
format_push_string = "deny"
if_not_else = "allow"
if_same_then_else = "allow"
match_same_arms = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
multiple_crate_versions = "allow"
must_use_candidate = "allow"
option_if_let_else = "allow"
panic = "deny"
panic_in_result_fn = "deny"
redundant_closure_for_method_calls = "allow"
redundant_else = "allow"
redundant_pub_crate = "allow"
result_large_err = "allow"
similar_names = "allow"
string_slice = "deny"
struct_excessive_bools = "allow"
todo = "deny"
unwrap_in_result = "deny"

[lints.clippy.all]
level = "deny"
priority = -1

[lints.clippy.cargo]
level = "deny"
priority = -1

[lints.clippy.nursery]
level = "deny"
priority = -1

[lints.clippy.pedantic]
level = "deny"
priority = -1

[lints.clippy.perf]
level = "deny"
priority = -1

[lints.rust]
unnameable_types = "deny"
unsafe_op_in_unsafe_fn = "deny"
unused_attributes = "deny"
unused_lifetimes = "deny"
unused_macro_rules = "deny"

[lints.rust.future_incompatible]
level = "deny"
priority = 0

[lints.rust.missing_docs]
level = "deny"
priority = 0

[lints.rust.nonstandard_style]
level = "deny"
priority = 0

[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1

[lints.rust.unknown_lints]
level = "allow"
priority = -100

[lints.rust.warnings]
level = "deny"
priority = 0

[lints.rustdoc.all]
level = "deny"
priority = -1

[package]
authors = ["reuben olinsky"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["command-line-utilities", "development-tools"]
description = "Rust-implemented shell focused on POSIX and bash compatibility"
edition = "2024"
keywords = ["cli", "shell", "sh", "bash", "script"]
license = "MIT"
name = "brush-shell"
readme = "README.md"
repository = "https://github.com/reubeno/brush"
rust-version = "1.85.0"
version = "0.2.22"

[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/{ name }-v{ version }/brush-{ target }{ archive-suffix }"

[target."cfg(any(windows, unix))".dependencies.brush-interactive]
features = ["basic", "reedline"]
version = "^0.2.22"

[target."cfg(any(windows, unix))".dependencies.crossterm]
version = "0.29.0"

[target."cfg(any(windows, unix))".dependencies.tokio]
features = ["rt", "rt-multi-thread", "sync"]
version = "1.47.0"

[target."cfg(not(any(windows, unix)))".dependencies.brush-interactive]
features = ["minimal"]
version = "^0.2.22"

[target."cfg(not(any(windows, unix)))".dependencies.tokio]
features = ["rt", "sync"]
version = "1.47.1"

[target.wasm32-unknown-unknown.dependencies.getrandom]
features = ["wasm_js"]
version = "0.3.3"

[target.wasm32-unknown-unknown.dependencies.uuid]
features = ["js"]
version = "1.17.0"

[[test]]
harness = false
name = "brush-compat-tests"
path = "tests/compat_tests.rs"

[[test]]
name = "brush-completion-tests"
path = "tests/completion_tests.rs"

[[test]]
name = "brush-interactive-tests"
path = "tests/interactive_tests.rs"

[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"