[package]
name = "envision"
version = "0.1.0"
edition = "2021"
rust-version = "1.81"
description = "A ratatui framework for collaborative TUI development with headless testing support"
license = "MIT"
repository = "https://github.com/ryanoneill/envision"
readme = "README.md"
documentation = "https://docs.rs/envision"
keywords = ["tui", "terminal", "ratatui", "testing", "headless"]
categories = ["command-line-interface", "development-tools::testing"]

[dependencies]
ratatui = "0.29"
crossterm = { version = "0.28", features = ["event-stream"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "2.0"
unicode-width = "0.2"
compact_str = { version = "0.8", features = ["serde"] }
tokio = { version = "1", features = ["sync", "rt", "macros", "time"] }
tokio-stream = "0.1"
tokio-util = "0.7"
async-stream = "0.3"
futures-util = "0.3"

[dev-dependencies]
insta = { version = "1.41", features = ["json"] }
tokio = { version = "1", features = ["full", "test-util"] }
pretty_assertions = "1.4"
tempfile = "3.24.0"
criterion = { version = "0.5", features = ["html_reports"] }

[[bench]]
name = "capture_backend"
harness = false

[[bench]]
name = "async_runtime"
harness = false
