tuika 0.6.0

The application framework for Rust terminal UIs — flexbox layout, overlays, focus, keymap, components, and safe ratatui interoperability.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.88"
name = "tuika"
version = "0.6.0"
authors = [
    "Mykhailo Chalyi <mike@chaliy.name>",
    "Everruns <support@everruns.com>",
]
build = false
exclude = [
    "docs/demos/*.gif",
    "docs/demos/*.png",
    "docs/showcases/*.gif",
    "examples/codex/*.gif",
    "docs/styling/*.gif",
    "docs/themes/*.gif",
    "/.agents",
    "/.claude",
    "/.github",
    "/knowledge",
    "/scripts",
    "/AGENTS.md",
    "/CLAUDE.md",
    "/CODE_OF_CONDUCT.md",
    "/CONTRIBUTING.md",
    "/SECURITY.md",
    "/rust-toolchain.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The application framework for Rust terminal UIs — flexbox layout, overlays, focus, keymap, components, and safe ratatui interoperability."
homepage = "https://github.com/everruns/tuika"
readme = "README.md"
keywords = [
    "tui",
    "terminal",
    "ratatui",
    "framework",
    "widgets",
]
categories = ["command-line-interface"]
license = "MIT"
repository = "https://github.com/everruns/tuika"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
async = [
    "dep:tokio",
    "dep:tokio-stream",
    "crossterm/event-stream",
]
scrolling-regions = [
    "ratatui-core/scrolling-regions",
    "ratatui-crossterm/scrolling-regions",
]

[lib]
name = "tuika"
path = "src/lib.rs"
bench = false

[[example]]
name = "async_dashboard"
path = "examples/async_dashboard.rs"
required-features = ["async"]

[[example]]
name = "codex"
path = "examples/codex/main.rs"

[[example]]
name = "demo"
path = "examples/demo.rs"

[[example]]
name = "gallery"
path = "examples/gallery.rs"

[[example]]
name = "image"
path = "examples/image.rs"

[[example]]
name = "image_demo"
path = "examples/image_demo.rs"

[[example]]
name = "inherit"
path = "examples/inherit.rs"

[[example]]
name = "markdown"
path = "examples/markdown.rs"

[[example]]
name = "mouse"
path = "examples/mouse.rs"

[[example]]
name = "overlay"
path = "examples/overlay.rs"

[[example]]
name = "primitives"
path = "examples/primitives.rs"

[[example]]
name = "ratatui_dashboard"
path = "examples/ratatui_dashboard.rs"

[[example]]
name = "screenshot"
path = "examples/screenshot.rs"

[[example]]
name = "select"
path = "examples/select.rs"

[[example]]
name = "split_footer"
path = "examples/split_footer.rs"

[[example]]
name = "split_footer_demo"
path = "examples/split_footer_demo.rs"

[[example]]
name = "styling"
path = "examples/styling.rs"

[[test]]
name = "packaging"
path = "tests/packaging.rs"

[[test]]
name = "pty_palette"
path = "tests/pty_palette.rs"

[[test]]
name = "pty_smoke"
path = "tests/pty_smoke.rs"

[[test]]
name = "public_api"
path = "tests/public_api.rs"

[[test]]
name = "scoped_scene"
path = "tests/scoped_scene.rs"

[[bench]]
name = "markdown"
path = "benches/markdown.rs"
harness = false

[[bench]]
name = "markdown_iai"
path = "benches/markdown_iai.rs"
harness = false

[[bench]]
name = "scroll"
path = "benches/scroll.rs"
harness = false

[[bench]]
name = "scroll_iai"
path = "benches/scroll_iai.rs"
harness = false

[dependencies.crossterm]
version = "0.29"

[dependencies.pulldown-cmark]
version = "0.13"
default-features = false

[dependencies.ratatui-core]
version = "0.1"
features = [
    "std",
    "underline-color",
]

[dependencies.ratatui-crossterm]
version = "0.1"

[dependencies.textwrap]
version = "0.16"

[dependencies.tokio]
version = "1"
features = [
    "time",
    "macros",
]
optional = true

[dependencies.tokio-stream]
version = "0.1"
optional = true

[dependencies.unicode-segmentation]
version = "1"

[dependencies.unicode-width]
version = "0.2"

[dev-dependencies.criterion]
version = "0.8"
features = ["cargo_bench_support"]
default-features = false

[dev-dependencies.iai-callgrind]
version = "0.16.1"

[dev-dependencies.portable-pty]
version = "0.9.0"

[dev-dependencies.proptest]
version = "1"

[dev-dependencies.ratatui]
version = "0.30.2"

[dev-dependencies.tokio]
version = "1"
features = [
    "rt",
    "macros",
    "time",
    "test-util",
]

[dev-dependencies.tokio-stream]
version = "0.1"

[dev-dependencies.vt100]
version = "0.16"