[package]
edition = "2024"
rust-version = "1.85"
name = "opentui_rust"
version = "0.2.1"
build = false
exclude = [
"*.png",
"*.webp",
"beads_import.md",
"claude-upgrade-progress.json",
"AGENTS.md",
"IMPLEMENTATION_REPORT.md",
"UPGRADE_LOG.md",
"PLAN_TO_PORT_OPENTUI_TO_RUST.md",
"EXISTING_OPENTUI_STRUCTURE.md",
"PROPOSED_RUST_ARCHITECTURE.md",
".beads/",
"target-sagebeacon/",
"scripts/",
"a.out",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance terminal UI rendering engine with alpha blending and diffed buffers"
homepage = "https://github.com/Dicklesworthstone/opentui_rust"
documentation = "https://docs.rs/opentui_rust"
readme = "README.md"
keywords = [
"tui",
"terminal",
"ui",
"cli",
]
categories = [
"command-line-interface",
"rendering",
]
license = "MIT"
repository = "https://github.com/Dicklesworthstone/opentui_rust"
[features]
default = []
pty-tests = []
[lib]
name = "opentui_rust"
path = "src/lib.rs"
[[bin]]
name = "demo_showcase"
path = "src/bin/demo_showcase.rs"
[[example]]
name = "01_hello_terminal"
path = "examples/01_hello_terminal.rs"
[[example]]
name = "02_colors"
path = "examples/02_colors.rs"
[[example]]
name = "03_styles"
path = "examples/03_styles.rs"
[[example]]
name = "04_drawing"
path = "examples/04_drawing.rs"
[[example]]
name = "05_scissor"
path = "examples/05_scissor.rs"
[[example]]
name = "06_opacity"
path = "examples/06_opacity.rs"
[[example]]
name = "07_input"
path = "examples/07_input.rs"
[[example]]
name = "08_animation"
path = "examples/08_animation.rs"
[[example]]
name = "09_text_buffer"
path = "examples/09_text_buffer.rs"
[[example]]
name = "11_highlighting"
path = "examples/11_highlighting.rs"
[[example]]
name = "15_dashboard"
path = "examples/15_dashboard.rs"
[[example]]
name = "editor"
path = "examples/editor.rs"
[[example]]
name = "hello"
path = "examples/hello.rs"
[[example]]
name = "threaded"
path = "examples/threaded.rs"
[[test]]
name = "benchmark_comparison"
path = "tests/benchmark_comparison.rs"
[[test]]
name = "benchmarks_validate"
path = "tests/benchmarks_validate.rs"
[[test]]
name = "buffer_edge_cases"
path = "tests/buffer_edge_cases.rs"
[[test]]
name = "cell_tests"
path = "tests/cell_tests.rs"
[[test]]
name = "conformance"
path = "tests/conformance.rs"
[[test]]
name = "demo_showcase_snapshots"
path = "tests/demo_showcase_snapshots.rs"
[[test]]
name = "e2e_input_flow"
path = "tests/e2e_input_flow.rs"
[[test]]
name = "e2e_input_output"
path = "tests/e2e_input_output.rs"
[[test]]
name = "e2e_perf"
path = "tests/e2e_perf.rs"
[[test]]
name = "e2e_render_cycle"
path = "tests/e2e_render_cycle.rs"
[[test]]
name = "e2e_unicode"
path = "tests/e2e_unicode.rs"
[[test]]
name = "e2e_workflows"
path = "tests/e2e_workflows.rs"
[[test]]
name = "examples_compile"
path = "tests/examples_compile.rs"
[[test]]
name = "fixtures_test"
path = "tests/fixtures_test.rs"
[[test]]
name = "golden_rendering"
path = "tests/golden_rendering.rs"
[[test]]
name = "highlight_e2e"
path = "tests/highlight_e2e.rs"
[[test]]
name = "memory_safety_regression"
path = "tests/memory_safety_regression.rs"
[[test]]
name = "proptest_buffer_diff"
path = "tests/proptest_buffer_diff.rs"
[[test]]
name = "proptest_color_ops"
path = "tests/proptest_color_ops.rs"
[[test]]
name = "proptest_text_unicode"
path = "tests/proptest_text_unicode.rs"
[[test]]
name = "pty_e2e"
path = "tests/pty_e2e.rs"
[[test]]
name = "repro_issue_diff_panic"
path = "tests/repro_issue_diff_panic.rs"
[[test]]
name = "repro_issue_text_drawing"
path = "tests/repro_issue_text_drawing.rs"
[[test]]
name = "repro_issues"
path = "tests/repro_issues.rs"
[[test]]
name = "security_regression"
path = "tests/security_regression.rs"
[[test]]
name = "visual_pty_test"
path = "tests/visual_pty_test.rs"
[[bench]]
name = "buffer"
path = "benches/buffer.rs"
harness = false
[[bench]]
name = "color"
path = "benches/color.rs"
harness = false
[[bench]]
name = "highlight"
path = "benches/highlight.rs"
harness = false
[[bench]]
name = "input"
path = "benches/input.rs"
harness = false
[[bench]]
name = "renderer"
path = "benches/renderer.rs"
harness = false
[[bench]]
name = "text"
path = "benches/text.rs"
harness = false
[[bench]]
name = "unicode"
path = "benches/unicode.rs"
harness = false
[[bench]]
name = "workloads"
path = "benches/workloads.rs"
harness = false
[dependencies.bitflags]
version = "2.10"
[dependencies.libc]
version = "0.2.180"
[dependencies.ropey]
version = "1.6"
[dependencies.unicode-bidi]
version = "0.3.18"
[dependencies.unicode-normalization]
version = "0.1.25"
[dependencies.unicode-segmentation]
version = "1.12"
[dependencies.unicode-width]
version = "0.2"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.insta]
version = "1.46"
features = ["json"]
[dev-dependencies.portable-pty]
version = "0.8"
[dev-dependencies.proptest]
version = "1.9"
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tracing]
version = "0.1.44"
[dev-dependencies.tracing-subscriber]
version = "0.3.22"
[dev-dependencies.vt100]
version = "0.15"
[lints.clippy]
all = "warn"
nursery = "warn"
pedantic = "warn"
[lints.rust]
unsafe_code = "warn"
[profile.dev]
opt-level = 1
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true