[package]
name = "bettertui_engine"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description.workspace = true
rust-version.workspace = true
homepage.workspace = true
readme = "README.md"
documentation = "https://docs.rs/bettertui_engine"
keywords = ["tui", "terminal", "console", "cli", "rendering"]
categories = ["command-line-interface", "graphics", "text-processing"]
exclude = ["index.d.ts", ".DS_Store"]
[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]
[lib]
name = "bettertui_engine"
path = "src/lib.rs"
crate-type = ["cdylib", "lib"]
[features]
default = ["diagnostics"]
napi = ["dep:napi", "dep:napi-derive"]
diagnostics = []
release-logs-off = ["tracing/release_max_level_off"]
release-logs-error = ["tracing/release_max_level_error"]
release-logs-warn = ["tracing/release_max_level_warn"]
release-logs-info = ["tracing/release_max_level_info"]
release-logs-debug = ["tracing/release_max_level_debug"]
production = ["release-logs-warn"]
[[bin]]
name = "layout_e2e"
path = "src/bin/layout_e2e.rs"
[dependencies]
taffy.workspace = true
crossterm.workspace = true
ropey.workspace = true
regex.workspace = true
unicode-width.workspace = true
unicode-segmentation.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
parking_lot.workspace = true
slotmap.workspace = true
smallvec.workspace = true
bitflags.workspace = true
portable-pty.workspace = true
serde = { version = "1", features = ["derive"] }
serde_json = "1"
base64 = "0.22"
cfonts = { version = "1.3", default-features = false }
thiserror = "2.0"
tree-sitter = "0.25"
tree-sitter-javascript = "0.25"
tree-sitter-typescript = "0.23"
tree-sitter-rust = "0.24"
tree-sitter-python = "0.25"
tree-sitter-json = "0.24"
tree-sitter-html = "0.23"
tree-sitter-css = "0.25"
tree-sitter-bash = "0.25"
napi = { version = "3", optional = true }
napi-derive = { version = "3", optional = true }
[build-dependencies]
serde_json = { workspace = true }
napi-build = "2"
[dev-dependencies]
insta = { version = "1.42", features = ["yaml", "redactions"] }
vt100 = "0.16"
proptest = "1"