[workspace]
members = ["gilt-derive"]

[package]
name = "gilt"
version = "0.2.1"
edition = "2021"
exclude = [".claude/"]
description = "A fast, rich terminal formatting library — Rust port of Python's rich"
license = "MIT"
repository = "https://github.com/khalidelborai/gilt"
homepage = "https://github.com/khalidelborai/gilt"
documentation = "https://docs.rs/gilt"
readme = "README.md"
keywords = ["terminal", "rich", "formatting", "ansi", "cli"]
categories = ["command-line-interface", "text-processing"]
rust-version = "1.82.0"

[dependencies]
thiserror = "2"
unicode-width = "0.2"
regex = "1"
once_cell = "1"
serde = "1"
serde_json = "1"
pulldown-cmark = "0.12"
log = { version = "0.4", features = ["std"] }
syntect = { version = "5", default-features = false, features = ["default-syntaxes", "default-themes", "regex-fancy"] }
rpassword = "7.4.0"
gilt-derive = { version = "0.1.0", path = "gilt-derive", optional = true }
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", features = ["registry"], optional = true }
miette = { version = "7", optional = true }
eyre = { version = "0.6", optional = true }
anstyle = { version = "1", optional = true }

[features]
default = []
tracing = ["dep:tracing", "dep:tracing-subscriber"]
derive = ["dep:gilt-derive"]
miette = ["dep:miette"]
eyre = ["dep:eyre"]
anstyle = ["dep:anstyle"]

[dev-dependencies]
pretty_assertions = "1"
criterion = { version = "0.5", features = ["html_reports"] }

[[bench]]
name = "benchmarks"
harness = false
