[package]
name = "rich_rust"
version = "0.2.2"
edition = "2024"
description = "A Rust port of Python's Rich library for beautiful terminal output"
authors = ["Jeffrey Emanuel"]
license = "MIT"
repository = "https://github.com/Dicklesworthstone/rich_rust"
homepage = "https://github.com/Dicklesworthstone/rich_rust"
documentation = "https://docs.rs/rich_rust"
readme = "README.md"
keywords = ["terminal", "cli", "rich", "ansi", "formatting"]
categories = ["command-line-interface", "text-processing"]
[dependencies]
bitflags = "2.11"
regex = "1.12"
fancy-regex = "0.17.0"
crossterm = "0.29"
unicode-width = ">=0.2.0, <0.3"
lru = "0.16"
smallvec = "1.13"
os_pipe = "1.2.3"
stdio-override = "0.2.0"
log = { version = "0.4", features = ["std"] }
time = { version = ">=0.3.47, <0.3.48", features = ["local-offset", "formatting"] }
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", optional = true, features = ["fmt"] }
num-rational = "0.4.2"
once_cell = "1.21"
syntect = { version = "5.3", optional = true }
pulldown-cmark = { version = "0.13", optional = true }
serde_json = { version = "1.0", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
backtrace = { version = "0.3", optional = true }
[dev-dependencies]
criterion = "0.8"
serde_json = "1.0"
proptest = "1.10"
insta = { version = "1.46", features = ["glob", "filters"] }
serial_test = "3.2"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json"] }
tracing-test = "0.2.6"
test-log = { version = "0.2", features = ["trace"] }
[features]
default = []
conformance_test = ["full"]
syntax = ["syntect"]
markdown = ["pulldown-cmark"]
json = ["serde_json", "serde"]
tracing = ["dep:tracing", "dep:tracing-subscriber"]
backtrace = ["dep:backtrace"]
full = ["syntax", "markdown", "json", "backtrace"]
showcase = ["full", "tracing"]
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true
[[example]]
name = "basic"
path = "examples/basic.rs"
[[bench]]
name = "render_bench"
harness = false