[package]
name         = "indusagi-tui"
version.workspace      = true
edition.workspace      = true
rust-version.workspace = true
license.workspace      = true
authors.workspace      = true
repository.workspace   = true
description  = "Host-agnostic terminal primitives: keys, keybindings, text/width, fuzzy match, autocomplete, editor, and theme contracts."
# Recommended crates.io listing fields — inherited from [workspace.package] so the
# whole tree stays DRY. `readme` is per-crate (a README must live inside the package
# dir to be bundled in the sdist; each crate ships a tiny one pointing at the root).
homepage.workspace     = true
keywords.workspace     = true
categories.workspace   = true
readme       = "README.md"

[dependencies]
# Grapheme-cluster segmentation (≈ Intl.Segmenter graphemes) + east-asian column width
# (≈ get-east-asian-width). These power the visibleWidth/wrap/truncate/slice surface.
unicode-segmentation = { workspace = true }
unicode-width        = { workspace = true }
# Regex tables (word-boundary, swap-fallback, ANSI grammar, key-sequence shapes).
regex                = { workspace = true }
# Theme/contract value types are serde-ready for the render layer + settings.
serde                = { workspace = true }

[dev-dependencies]
criterion = { workspace = true }

# §6.5 hot path: the autocomplete/file-picker fuzzy matcher on a 10k-path corpus.
[[bench]]
name    = "fuzzy_match"
harness = false
