[package]
name = "tess-cli"
version = "0.58.1"
edition = "2021"
rust-version = "1.85"
description = "A less-style terminal pager for files, pipes, and live logs — with structured-log filtering, pretty-printing (JSON/YAML/TOML/XML/HTML/CSV), ANSI passthrough, multi-file navigation, and ctags jumping. Rust, macOS + Linux."
license = "MIT"
authors = ["Thomas Björk <codedv8@gmail.com>"]
homepage = "https://github.com/codedeviate/tess"
repository = "https://github.com/codedeviate/tess"
documentation = "https://github.com/codedeviate/tess/blob/master/MANUAL.md"
readme = "README.md"
keywords = ["pager", "less", "log", "tail", "terminal"]
categories = ["command-line-utilities", "text-processing"]
exclude = [
    "tess-*.tar.gz",
    ".claude/",
    ".github/",
    ".git/",
    ".idea/",
    "/.gitignore",
    "OUT-OF-SCOPE.md",
    "CLAUDE.md",
]

[features]
default = ["image"]
image = ["dep:image"]

[dependencies]
crossterm = { version = "0.27", features = ["use-dev-tty"] }
memmap2 = "0.9"
clap = { version = "4", features = ["derive"] }
unicode-segmentation = "1"
unicode-width = "0.1"
signal-hook = "0.3"
libc = "0.2"
regex = "1"
toml = "0.8"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yml = "0.0.12"
quick-xml = { version = "0.36", features = ["serialize"] }
csv = "1"
encoding_rs = "0.8"
colored = "2"
clap_mangen = "0.2"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "gif", "bmp", "webp", "tiff", "tga", "ico", "pnm"], optional = true }
similar = { version = "2", features = ["unicode"] }

[dev-dependencies]
tempfile = "3"
expectrl = "0.7"
criterion = { version = "0.5", features = ["html_reports"] }
proptest = "1"

[lib]
name = "tess"
path = "src/lib.rs"

[[bin]]
name = "tess"
path = "src/main.rs"

[[bin]]
name = "gen-manpage"
path = "src/bin/gen-manpage.rs"

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

# Tuned for distribution (Homebrew, crates.io binary installs).
# Trades ~20-30s build time for a smaller, faster single-file binary.
[profile.release]
lto = true
codegen-units = 1
strip = "symbols"
