[[bench]]
harness = false
name = "main"
path = "benches/main.rs"
[[bin]]
bench = false
name = "tv"
path = "television/main.rs"
[build-dependencies.clap]
features = ["derive", "cargo"]
version = "4.5"
[build-dependencies.clap_mangen]
version = "0.2.26"
[dependencies.ansi-to-tui]
version = "8.0"
[dependencies.anyhow]
version = "1.0"
[dependencies.base64]
version = "0.22"
[dependencies.better-panic]
version = "0.3"
[dependencies.clap]
features = ["derive", "cargo", "string"]
version = "4.5"
[dependencies.clap_complete]
version = "4.5"
[dependencies.colored]
version = "3.0"
[dependencies.devicons]
version = "0.6"
[dependencies.directories]
version = "6.0"
[dependencies.fast-strip-ansi]
version = "0.13"
[dependencies.human-panic]
version = "2.0"
[dependencies.lazy-regex]
default-features = false
features = ["lite"]
version = "3.4"
[dependencies.nucleo]
version = "0.5"
[dependencies.parking_lot]
version = "0.12"
[dependencies.ratatui]
features = ["serde", "macros"]
version = "0.30"
[dependencies.rayon]
version = "1.11"
[dependencies.rustc-hash]
version = "2.1"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_with]
version = "3.13"
[dependencies.signal-hook]
version = "0.4"
[dependencies.smallvec]
version = "1.15"
[dependencies.string_pipeline]
version = "0.13"
[dependencies.tokio]
features = ["full"]
version = "1.48"
[dependencies.toml]
version = "0.9"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3"
[dependencies.unicode-width]
version = "0.2"
[dependencies.ureq]
version = "3.0"
[dependencies.walkdir]
version = "2.5"
[dependencies.which]
version = "8.0"
[dev-dependencies.criterion]
features = ["async_tokio"]
version = "0.8"
[dev-dependencies.portable-pty]
version = "0.9.0"
[dev-dependencies.tempfile]
version = "3.16.0"
[dev-dependencies.vt100]
version = "0.16"
[lib]
name = "television"
path = "television/lib.rs"
[lints.clippy]
cast_precision_loss = "allow"
float_cmp = "allow"
from_iter_instead_of_collect = "allow"
implicit_hasher = "allow"
map_unwrap_or = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
return_self_not_must_use = "allow"
similar_names = "allow"
too_many_lines = "allow"
uninlined_format_args = "allow"
wildcard_imports = "allow"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[package]
authors = ["Alexandre Pasmantier <alex.pasmant@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["command-line-utilities", "command-line-interface", "concurrency", "development-tools"]
description = "A very fast, portable and hackable fuzzy finder for the terminal"
edition = "2024"
exclude = ["website", ".github", "apt", "website", "assets"]
homepage = "https://github.com/alexpasmantier/television"
keywords = ["search", "fuzzy", "preview", "tui", "terminal"]
license = "MIT"
name = "television"
readme = "README.md"
repository = "https://github.com/alexpasmantier/television"
rust-version = "1.90"
version = "0.14.5"
[package.metadata.deb]
assets = [["target/release/tv", "usr/bin/", "755"], { dest = "usr/share/man/man1/", mode = "644", source = "man/tv.1" }]
copyright = "Copyright 2025 Alexandre Pasmantier <alex.pasmant@gmail.com>"
depends = "$auto"
extended-description = """
Television is a portable and hackable fuzzy finder for the terminal.
It lets you search in real time through any kind of data source (called "channels") such as:
files and directories
code
notes
processes
git repositories
environment variables
docker containers
...and much more
with support for previewing results, customizable actions and keybindings, and integration with your favorite
shell and editor.
"""
maintainer = "Alexandre Pasmantier <alex.pasmant@gmail.com>"
priority = "optional"
section = "utils"
[profile.deb]
debug = 0
inherits = "release"
[profile.profiling]
debug = 2
inherits = "release"
[profile.release]
codegen-units = 1
lto = "fat"
[profile.staging]
inherits = "release"
lto = false
opt-level = 3
[target.'cfg(not(target_os = "macos"))'.dependencies.crossterm]
features = ["serde"]
version = "0.28"
[target.'cfg(target_os = "macos")'.dependencies.crossterm]
features = ["serde", "use-dev-tty"]
version = "0.28.1"
[target."cfg(windows)".dependencies.clipboard-win]
version = "5.4.0"
[target."cfg(windows)".dependencies.winapi-util]
version = "0.1.9"
[[test]]
name = "app"
path = "tests/app.rs"
[[test]]
name = "channels"
path = "tests/channels.rs"
[[test]]
name = "command_line"
path = "tests/command_line.rs"
[[test]]
name = "configuration"
path = "tests/configuration.rs"
[[test]]
name = "remote_control"
path = "tests/remote_control.rs"
[[test]]
name = "subcommands"
path = "tests/subcommands.rs"