[package]
name = "ratatui"
description = "A library that's all about cooking up terminal user interfaces"
version = "0.30.0-alpha.3"
authors.workspace = true
documentation.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
readme.workspace = true
license.workspace = true
exclude.workspace = true
edition.workspace = true
rust-version.workspace = true
[package.metadata.docs.rs]
all-features = true
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = ["crossterm", "underline-color", "all-widgets", "macros", "layout-cache"]
crossterm = ["std", "dep:ratatui-crossterm"]
termion = ["std", "dep:ratatui-termion"]
termwiz = ["std", "dep:ratatui-termwiz"]
std = ["ratatui-core/std", "ratatui-widgets/std"]
serde = [
"dep:serde",
"ratatui-core/serde",
"ratatui-widgets/serde",
"ratatui-crossterm?/serde",
"ratatui-termion?/serde",
"ratatui-termwiz?/serde",
]
layout-cache = ["std", "ratatui-core/layout-cache"]
palette = ["ratatui-core/palette", "dep:palette"]
scrolling-regions = [
"ratatui-core/scrolling-regions",
"ratatui-crossterm?/scrolling-regions",
"ratatui-termion?/scrolling-regions",
"ratatui-termwiz?/scrolling-regions",
]
macros = ["dep:ratatui-macros"]
all-widgets = ["widget-calendar"]
widget-calendar = ["ratatui-widgets/calendar"]
underline-color = [
"ratatui-core/underline-color",
"ratatui-crossterm?/underline-color",
"ratatui-termwiz?/underline-color",
]
unstable = ["unstable-rendered-line-info", "unstable-widget-ref", "unstable-backend-writer"]
unstable-rendered-line-info = ["ratatui-widgets/unstable-rendered-line-info"]
unstable-widget-ref = []
unstable-backend-writer = [
"ratatui-crossterm?/unstable-backend-writer",
"ratatui-termion?/unstable-backend-writer",
]
[dependencies]
document-features = { workspace = true, optional = true }
instability.workspace = true
palette = { version = "0.7.6", optional = true }
ratatui-core = { workspace = true }
ratatui-crossterm = { workspace = true, optional = true }
ratatui-macros = { workspace = true, optional = true }
ratatui-termwiz = { workspace = true, optional = true }
ratatui-widgets = { workspace = true }
serde = { workspace = true, optional = true }
[target.'cfg(not(windows))'.dependencies]
ratatui-termion = { workspace = true, optional = true }
[dev-dependencies]
argh = "0.1.12"
color-eyre = "0.6.2"
criterion = { version = "0.5.1", features = ["html_reports"] }
crossterm = { version = "0.29.0", features = ["event-stream"] }
fakeit = "1.1"
futures = "0.3.30"
indoc = "2"
pretty_assertions = "1.4.0"
rand = "0.9.1"
rand_chacha = "0.9.0"
rstest = "0.25.0"
serde_json.workspace = true
time = { version = "0.3.39", features = ["local-offset"] }
tokio = { version = "1.44.2", features = ["rt", "macros", "time", "rt-multi-thread"] }
tracing = "0.1.40"
tracing-appender = "0.2.3"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
[lints]
workspace = true
[lib]
bench = false
[[bench]]
name = "main"
harness = false
[[test]]
name = "state_serde"
required-features = ["serde"]