[package]
name = "vtcode-ui"
version.workspace = true
edition.workspace = true
rust-version = "1.88"
authors = ["Vinh Nguyen <vinhnguyen2308@gmail.com>"]
description = "Unified UI crate for VT Code: design system, theme registry, and TUI framework"
license.workspace = true
readme = "README.md"
homepage = "https://github.com/vinhnx/vtcode"
repository = "https://github.com/vinhnx/vtcode"
documentation = "https://docs.rs/vtcode-ui"
keywords = ["tui", "terminal", "ratatui", "design-system", "vtcode"]
categories = ["command-line-utilities", "development-tools"]
[package.metadata.docs.rs]
all-features = true
default-target = "x86_64-unknown-linux-gnu"
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
anstyle = { workspace = true }
anstyle-git = { workspace = true }
anstyle-ls = "1.0"
anyhow = { workspace = true }
better-panic = "0.3"
catppuccin = { version = "2.8", default-features = false }
chrono = { workspace = true }
color-eyre = "0.6"
crossterm = { workspace = true, features = ["event-stream", "osc52"] }
futures = { workspace = true }
hashbrown = { 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"] }
ratatui-cheese = { workspace = true }
ratatui-textarea = { version = "0.9", default-features = false, features = ["crossterm"] }
regex = { workspace = true }
serde = { workspace = true }
signal-hook = "0.4"
syntect = { version = "5.2", default-features = false, features = ["default-fancy"] }
terminal_size = "0.4.4"
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.13"
unicode-width = { workspace = true }
vtcode-commons = { path = "../vtcode-commons", version = "0.125.3" }
vtcode-config = { path = "../vtcode-config", version = "0.125.3" }
vtcode-terminal-detection = { path = "../vtcode-terminal-detection", version = "0.125.3" }
vtcode-vim = { path = "../vtcode-vim", version = "0.125.3" }
[dev-dependencies]
criterion = { workspace = true }
[package.metadata.cargo-machete]
ignored = ["insta"]
[[bench]]
name = "markdown_render"
harness = false
[[bench]]
name = "transcript"
harness = false
[lints]
workspace = true