[package] name = "brush-interactive" description = "Interactive layer of brush-shell" version = "0.4.0" authors.workspace = true categories.workspace = true edition.workspace = true keywords.workspace = true license.workspace = true readme.workspace = true repository.workspace = true # Application tier; see docs/reference/msrv-policy.md. rust-version = "1.95.0" [lib] bench = false [features] default = [] basic = ["vt"] completion = [] minimal = [] # `minimal` reads input when standard input isn't a terminal. vt = ["dep:unicode-width", "completion", "minimal", "highlighting"] # The backend is built only where reedline builds (not, e.g., on wasm); see # `build.rs`. reedline = ["dep:reedline", "completion", "highlighting"] highlighting = ["dep:nu-ansi-term"] [lints] workspace = true [dependencies] bon = "3.9.1" brush-parser = { version = "^0.4.0", path = "../brush-parser" } brush-core = { version = "^0.5.0", path = "../brush-core" } indexmap = "2.13.0" nu-ansi-term = { version = "0.50.3", optional = true } radix_trie = "0.3.0" thiserror = "2.0.18" tokio = { version = "1.52.3", features = ["rt", "sync"] } tracing = "0.1.44" unicode-width = { version = "0.2.2", optional = true } # reedline builds only for these targets; see `build.rs`. [target.'cfg(any(unix, windows))'.dependencies] reedline = { version = "0.52.0", optional = true } [dev-dependencies] pretty_assertions = { version = "1.4.1", features = ["unstable"] } vt100 = "0.18.1"