# Television > Very fast, portable, hackable fuzzy finder written in Rust. Successor to tools like fzf, with built-in channels for files, git, env vars, and more. ## Install Save in your project root: ## Quick Use Television (tv) is a fast fuzzy finder written in Rust. Install it via Homebrew with `brew install television`, via Cargo with `cargo install television`, or download a binary from the GitHub releases at alexpasmantier/television. Run `tv` in your terminal to launch the default file finder, or use `tv ` to search specific data sources like git repos, environment variables, or command history. ## Introduction Television is a modern terminal fuzzy finder designed to be fast, extensible, and easy to use. It draws inspiration from tools like fzf but is built from the ground up in Rust for performance. Television introduces the concept of "channels" -- built-in data source integrations that let you fuzzy-find across files, git branches, environment variables, shell history, and more without piping data manually. ## What Television Does Television provides interactive fuzzy search over various data sources. When launched, it presents a searchable list that narrows results as you type. Built-in channels cover common use cases: finding files, searching git logs, browsing environment variables, filtering shell history, and more. You can also pipe arbitrary input into it for custom filtering, similar to fzf. Selected results are output to stdout for use in shell pipelines and scripts. ## Architecture Overview Television is implemented in Rust using a TUI (terminal user interface) framework. The core fuzzy matching engine is optimized for speed, handling large input sets with minimal latency. The channel system is modular: each channel defines how to gather data from a specific source and how to display results. The rendering layer provides a responsive terminal interface with preview panes and syntax highlighting. Custom channels can be defined via configuration files. ## Self-Hosting & Configuration Television is a standalone CLI binary with no server or daemon. Configuration is done through a TOML config file, typically located at `~/.config/tv/config.toml`. You can customize keybindings, define custom channels, set default behaviors, and configure preview commands. Shell integration scripts are available for Bash, Zsh, and Fish to bind Television to keyboard shortcuts like Ctrl+R for history search. ## Key Features - Very fast fuzzy matching engine written in Rust - Built-in channels for files, git, env vars, shell history, and more - Custom channel definitions via configuration - File preview with syntax highlighting - Shell integration for Bash, Zsh, and Fish - Configurable keybindings and appearance via TOML - Pipe-friendly: accepts stdin and outputs to stdout - Cross-platform support (macOS, Linux, Windows) - Minimal dependencies as a single static binary - Responsive terminal UI with real-time filtering ## Comparison with Similar Tools Compared to fzf, Television is written in Rust and includes built-in channel integrations rather than relying on external scripts to gather data. Unlike skim (sk), Television focuses on a channel-based architecture that makes common workflows available out of the box. Compared to general-purpose tools like dmenu or rofi, Television is terminal-native and designed for CLI workflows. It occupies a similar space to fzf but aims to reduce the shell scripting needed for common search tasks. ## FAQ **Can Television replace fzf?** Television covers many of the same use cases as fzf and adds built-in channels for common tasks. However, fzf has a larger ecosystem of community scripts. Television can serve as a drop-in replacement for basic fuzzy finding and offers advantages for its built-in channel workflows. **How do I add a custom channel?** Custom channels are defined in the configuration file. You specify a command to generate the input list and optionally a preview command. See the project documentation for the configuration format. **Does it work on Windows?** Yes, Television provides Windows builds. Some channels that depend on Unix-specific tools may have limited functionality on Windows. ## Sources - GitHub repository: https://github.com/alexpasmantier/television --- Source: https://tokrepo.com/en/workflows/asset-f1f0c96e Author: AI Open Source