[package]
edition = "2024"
rust-version = "1.88"
name = "vtcode-tui"
version = "0.86.12"
authors = ["Vinh Nguyen <vinhnguyen2308@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Reusable TUI primitives and session API for VT Code-style terminal interfaces"
homepage = "https://github.com/vinhnx/vtcode"
documentation = "https://docs.rs/vtcode-tui"
readme = "README.md"
keywords = [
"tui",
"terminal",
"ratatui",
"ai",
"cli",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "MIT"
repository = "https://github.com/vinhnx/vtcode"
resolver = "2"
[lib]
name = "vtcode_tui"
path = "src/lib.rs"
[[example]]
name = "custom_theme_and_widgets"
path = "examples/custom_theme_and_widgets.rs"
[[example]]
name = "host_adapter_integration"
path = "examples/host_adapter_integration.rs"
[[example]]
name = "minimal_session"
path = "examples/minimal_session.rs"
[[bench]]
name = "markdown_render"
path = "benches/markdown_render.rs"
harness = false
[dependencies.anstyle]
version = "1.0"
[dependencies.anstyle-git]
version = "1.1"
[dependencies.anstyle-ls]
version = "1.0"
[dependencies.anstyle-syntect]
version = "1.0"
[dependencies.anyhow]
version = "1.0"
[dependencies.better-panic]
version = "0.3"
[dependencies.catppuccin]
version = "2.5"
default-features = false
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.color-eyre]
version = "0.6"
[dependencies.crossterm]
version = "0.29"
features = [
"event-stream",
"osc52",
]
[dependencies.futures]
version = "0.3"
[dependencies.hashbrown]
version = "0.15"
features = ["serde"]
[dependencies.human-panic]
version = "2.0"
[dependencies.humantime]
version = "2.1"
[dependencies.line-clipping]
version = "0.3"
[dependencies.nucleo-matcher]
version = "0.3"
[dependencies.once_cell]
version = "1.19"
[dependencies.parking_lot]
version = "0.12"
[dependencies.pulldown-cmark]
version = "0.13"
features = ["html"]
default-features = false
[dependencies.ratatui]
version = "0.30"
features = [
"crossterm",
"crossterm",
"unstable-rendered-line-info",
"unstable-widget-ref",
]
default-features = false
[dependencies.regex]
version = "1.12"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.signal-hook]
version = "0.4"
[dependencies.syntect]
version = "5.2"
features = ["default-fancy"]
default-features = false
[dependencies.terminal_size]
version = "0.4.3"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.49"
features = ["full"]
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dependencies.toml]
version = "0.9.11"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
[dependencies.tui-shimmer]
version = "0.1.3"
[dependencies.tui-widget-list]
version = "0.15"
[dependencies.unicode-segmentation]
version = "1.11"
[dependencies.unicode-width]
version = "0.2.0"
[dependencies.vtcode-commons]
version = "0.86.12"
[dev-dependencies.criterion]
version = "0.8"
[dev-dependencies.insta]
version = "1.39"
[lints.clippy]
dbg_macro = "warn"
multiple_unsafe_ops_per_block = "warn"
todo = "warn"
undocumented_unsafe_blocks = "warn"
[lints.rust]
trivial_numeric_casts = "warn"
unsafe_code = "warn"
unstable_features = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_qualifications = "warn"
unused_results = "allow"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(tarpaulin)"]