[package]
name = "vtcode-tui"
version.workspace = true
edition.workspace = true
rust-version = "1.88"
authors = ["Vinh Nguyen <vinhnguyen2308@gmail.com>"]
description = "Reusable TUI primitives and session API for VT Code-style terminal interfaces"
license.workspace = true
readme = "README.md"
homepage = "https://github.com/vinhnx/vtcode"
repository = "https://github.com/vinhnx/vtcode"
documentation = "https://docs.rs/vtcode-tui"
keywords = ["tui", "terminal", "ratatui", "ai", "cli"]
categories = ["command-line-utilities", "development-tools"]
[dependencies]
anstyle = { workspace = true }
anstyle-syntect = "1.0"
anstyle-git = { workspace = true }
anstyle-ls = "1.0"
anyhow = { workspace = true }
better-panic = "0.3"
hashbrown = { workspace = true }
catppuccin = { version = "2.5", default-features = false }
chrono = { workspace = true }
color-eyre = "0.6"
crossterm = { workspace = true, features = ["event-stream", "osc52"] }
futures = { workspace = true }
humantime = "2.1"
human-panic = "2.0"
line-clipping = "0.3"
nucleo-matcher = "0.3"
once_cell = { workspace = true }
parking_lot = "0.12"
pulldown-cmark = { version = "0.13", default-features = false, features = [
"html",
] }
ratatui = { workspace = true, features = [
"crossterm",
"unstable-rendered-line-info",
"unstable-widget-ref",
] }
regex = { workspace = true }
serde = { workspace = true }
signal-hook = "0.4"
syntect = { version = "5.2", default-features = false, features = [
"default-fancy",
] }
terminal_size = "0.4.3"
thiserror = { workspace = true }
tokio = { workspace = true }
tokio-util = { workspace = true, features = ["codec"] }
toml = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
tui-shimmer = "0.1.3"
tui-widget-list = "0.15"
unicode-segmentation = "1.11"
unicode-width = { workspace = true }
vtcode-commons = { path = "../vtcode-commons", version = "0.86.12" }
[dev-dependencies]
criterion = { workspace = true }
insta = "1.39"
[[bench]]
name = "markdown_render"
harness = false
[lints]
workspace = true