termprofile 0.2.0

A library to detect and handle terminal color/styling support
Documentation
[package]
name = "termprofile"
description = "A library to detect and handle terminal color/styling support"
version = "0.2.0"
edition = "2024"
rust-version = "1.88.0"
authors = ["Austin Schey <aschey13@gmail.com>"]
license = "MIT OR Apache-2.0"
readme = "README.md"
include = ["/src", "/examples", "/tests", "LICENSE-MIT", "LICENSE-APACHE"]
repository = "https://github.com/aschey/termprofile"
homepage = "https://github.com/aschey/termprofile"
keywords = ["tui", "terminal", "color"]
categories = ["command-line-interface"]

[dependencies]
anstyle = { version = "1", optional = true }
palette = { version = "0.7", optional = true, default-features = false, features = [
  "std",
] }
termini = { version = "1", optional = true }
lru = { version = "0.16", features = ["hashbrown"], optional = true }
ratatui-core = { version = "0.1", default-features = false, optional = true }
termina = { version = "0.1", optional = true }

[target.'cfg(windows)'.dependencies]
os_info = { version = "3.10", default-features = false, optional = true }

[features]
default = []
windows-version = ["dep:os_info"]
convert = ["dep:anstyle", "dep:palette"]
terminfo = ["dep:termini"]
query-detect = ["dep:termina"]
color-cache = ["dep:lru"]
ratatui = ["dep:ratatui-core"]
ratatui-underline-color = ["ratatui-core/underline-color"]

[dev-dependencies]
anstyle-owo-colors = "2.0.4"
owo-colors = "4.2.2"
rand = "0.9.2"
rstest = "0.26.1"
ratatui = "0.30"

[lints.rustdoc]
broken_intra_doc_links = "deny"

[lints.clippy]
allow_attributes = "deny"
doc_markdown = "warn"
default_trait_access = "warn"
ignored_unit_patterns = "warn"
semicolon_if_nothing_returned = "warn"
missing_fields_in_debug = "warn"
use_self = "warn"
impl_trait_in_params = "warn"
missing_panics_doc = "warn"
explicit_iter_loop = "warn"
explicit_into_iter_loop = "warn"
redundant_closure_for_method_calls = "warn"

[[example]]
name = "convert"
required-features = ["convert", "query-detect"]
doc-scrape-examples = true

[[example]]
name = "detect"
required-features = ["query-detect"]
doc-scrape-examples = true

[[example]]
name = "override"
required-features = ["query-detect"]
doc-scrape-examples = true

[[example]]
name = "ratatui_app"
required-features = ["ratatui", "convert", "query-detect"]
doc-scrape-examples = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]