[package]
edition = "2024"
rust-version = "1.88"
name = "bettertui_engine"
version = "0.1.1"
build = "build.rs"
exclude = [
"index.d.ts",
".DS_Store",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance terminal UI framework"
homepage = "https://bettertui.dev"
documentation = "https://docs.rs/bettertui_engine"
readme = "README.md"
keywords = [
"tui",
"terminal",
"console",
"cli",
"rendering",
]
categories = [
"command-line-interface",
"graphics",
"text-processing",
]
license = "MIT"
repository = "https://github.com/localfirstai/bettertui"
resolver = "2"
[package.metadata.docs.rs]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["diagnostics"]
diagnostics = []
napi = [
"dep:napi",
"dep:napi-derive",
]
production = ["release-logs-warn"]
release-logs-debug = ["tracing/release_max_level_debug"]
release-logs-error = ["tracing/release_max_level_error"]
release-logs-info = ["tracing/release_max_level_info"]
release-logs-off = ["tracing/release_max_level_off"]
release-logs-warn = ["tracing/release_max_level_warn"]
[lib]
name = "bettertui_engine"
crate-type = [
"cdylib",
"lib",
]
path = "src/lib.rs"
[[bin]]
name = "layout_e2e"
path = "src/bin/layout_e2e.rs"
[[test]]
name = "animation"
path = "tests/animation.rs"
[[test]]
name = "ansi"
path = "tests/ansi.rs"
[[test]]
name = "dirty_diff"
path = "tests/dirty_diff.rs"
[[test]]
name = "e2e"
path = "tests/e2e/main.rs"
[[test]]
name = "effects"
path = "tests/effects.rs"
[[test]]
name = "engine"
path = "tests/engine.rs"
[[test]]
name = "ffi"
path = "tests/ffi.rs"
[[test]]
name = "font"
path = "tests/font.rs"
[[test]]
name = "framebuffer"
path = "tests/framebuffer.rs"
[[test]]
name = "glyph"
path = "tests/glyph.rs"
[[test]]
name = "graphics"
path = "tests/graphics.rs"
[[test]]
name = "input"
path = "tests/input.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "layout"
path = "tests/layout.rs"
[[test]]
name = "plugin"
path = "tests/plugin.rs"
[[test]]
name = "protocol"
path = "tests/protocol.rs"
[[test]]
name = "pty"
path = "tests/pty.rs"
[[test]]
name = "render"
path = "tests/render.rs"
[[test]]
name = "scheduler"
path = "tests/scheduler.rs"
[[test]]
name = "snapshot_test"
path = "tests/snapshot_test.rs"
[[test]]
name = "syntax"
path = "tests/syntax.rs"
[[test]]
name = "tree"
path = "tests/tree.rs"
[dependencies.base64]
version = "0.22"
[dependencies.bitflags]
version = "2"
[dependencies.cfonts]
version = "1.3"
default-features = false
[dependencies.crossterm]
version = "0.28"
[dependencies.napi]
version = "3"
optional = true
[dependencies.napi-derive]
version = "3"
optional = true
[dependencies.parking_lot]
version = "0.12"
[dependencies.portable-pty]
version = "0.8"
[dependencies.regex]
version = "1"
[dependencies.ropey]
version = "1.1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.slotmap]
version = "1.0"
[dependencies.smallvec]
version = "1.13"
[dependencies.taffy]
version = "0.7"
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.tree-sitter]
version = "0.25"
[dependencies.tree-sitter-bash]
version = "0.25"
[dependencies.tree-sitter-css]
version = "0.25"
[dependencies.tree-sitter-html]
version = "0.23"
[dependencies.tree-sitter-javascript]
version = "0.25"
[dependencies.tree-sitter-json]
version = "0.24"
[dependencies.tree-sitter-python]
version = "0.25"
[dependencies.tree-sitter-rust]
version = "0.24"
[dependencies.tree-sitter-typescript]
version = "0.23"
[dependencies.unicode-segmentation]
version = "1.12"
[dependencies.unicode-width]
version = "0.2"
[dev-dependencies.insta]
version = "1.42"
features = [
"yaml",
"redactions",
]
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.vt100]
version = "0.16"
[build-dependencies.napi-build]
version = "2"
[build-dependencies.serde_json]
version = "1"