term-transcript 0.5.0

Snapshotting and snapshot testing for CLI / REPL applications
Documentation
[package]

name = "term-transcript"

version.workspace = true

authors.workspace = true

edition.workspace = true

rust-version.workspace = true

license.workspace = true

repository.workspace = true

readme = "README.md"

keywords = ["snapshot", "terminal", "SVG"]

categories = ["development-tools::testing", "visualization"]

description = "Snapshotting and snapshot testing for CLI / REPL applications"



[package.metadata.docs.rs]

all-features = true

# Set `docsrs` to enable unstable `doc(cfg(...))` attributes.

rustdoc-args = ["--cfg", "docsrs"]



[dependencies]

# Public dependencies (present in the public API).

anstream = { workspace = true, optional = true }

anyhow.workspace = true

quick-xml = { workspace = true, optional = true }

handlebars = { workspace = true, optional = true }

portable-pty = { workspace = true, optional = true }

styled-str.workspace = true



# Private dependencies (not exposed in the public API).

anstyle.workspace = true

base64.workspace = true

bytecount.workspace = true

# **NB.** Must be an optional dependency; we want to use `term-transcript` in the font-subset workspace.

font-subset = { workspace = true, features = ["woff2"], optional = true }

os_pipe.workspace = true

serde = { workspace = true, optional = true }

serde_json = { workspace = true, optional = true }

tracing = { workspace = true, optional = true }

unicode-width.workspace = true



[dev-dependencies]

assert_matches.workspace = true

doc-comment.workspace = true

test-casing = { workspace = true, features = ["tracing"] }

toml.workspace = true

tracing-capture.workspace = true

tracing-subscriber = { workspace = true, features = ["env-filter"] }

version-sync.workspace = true



[lints]

workspace = true



[features]

default = ["svg", "test"]

# Rendering terminal transcripts into SVG snapshots

svg = ["dep:handlebars", "dep:serde", "dep:serde_json"]

# Enables subsetting and embedding OpenType fonts into snapshots

font-subset = ["svg", "dep:font-subset"]

# Allows parsing transcripts from SVG snapshots and testing them

test = ["dep:quick-xml", "dep:anstream"]



[[test]]

name = "integration"

path = "tests/integration.rs"

required-features = ["tracing"]