[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). quick-xml = { workspace = true, optional = true } handlebars = { workspace = true, optional = true } portable-pty = { workspace = true, optional = true } # Private dependencies (not exposed in the public API). is-terminal = { workspace = true, optional = true } bytecount.workspace = true os_pipe.workspace = true serde = { workspace = true, optional = true } serde_json = { workspace = true, optional = true } tracing = { workspace = true, optional = true } pretty_assertions = {workspace = true, optional = true } termcolor.workspace = true unicode-width.workspace = true [dev-dependencies] anyhow.workspace = true assert_matches.workspace = true doc-comment.workspace = true test-casing.workspace = true toml.workspace = true tracing-capture.workspace = true tracing-subscriber = { workspace = true, features = ["env-filter"] } version-sync.workspace = true [features] default = ["pretty_assertions", "svg", "test"] # Rendering terminal transcripts into SVG snapshots svg = ["handlebars", "serde", "serde_json"] # Allows parsing transcripts from SVG snapshots and testing them test = ["quick-xml", "is-terminal"] [[test]] name = "integration" path = "tests/integration.rs" required-features = ["tracing"]