Skip to content
vic

alexpasmantier/television

A portable and hackable fuzzy finder for the terminal.

alexpasmantier/television.json
{
"createdAt": "2024-09-15T22:16:18Z",
"defaultBranch": "main",
"description": "A portable and hackable fuzzy finder for the terminal.",
"fullName": "alexpasmantier/television",
"homepage": "https://alexpasmantier.github.io/television/",
"language": "Rust",
"name": "television",
"pushedAt": "2025-11-25T23:32:13Z",
"stargazersCount": 3734,
"topics": [
"cli",
"command-line-tool",
"fuzzy",
"fuzzy-finder",
"fuzzy-matching",
"fuzzy-search",
"fuzzyfinder",
"grep",
"rust",
"terminal",
"tui"
],
"updatedAt": "2025-11-27T03:33:04Z",
"url": "https://github.com/alexpasmantier/television"
}


A fast and hackable fuzzy finder for the terminal.

GitHub Release docs.rs GitHub branch check runs GitHub License Discord

![tv’s files channel]!(./assets/tv-transparent.png)

Television is a fast 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 (creating your own channels)

Create a new channel: ~/.config/television/cable/files.toml

[metadata]
name = "files"
description = "A channel to search through files and directories"
requirements = ["fd", "bat"]
[source]
command = "fd -t f"
[preview]
command = "bat -n --color=always '{}'"
env = { BAT_THEME = "Catppuccin Mocha" }

Start searching:

Terminal window
tv files

![tv files]!(./assets/tv-transparent.png)

Switch channels using the remote control and pick from a list of community-maintained channels or create your own!.

![tv remote]!(./assets/tv-files-remote.png)

See the channels docs for more info on how to set these up.

Terminal window
curl -fsSL https://alexpasmantier.github.io/television/install.sh | bash

Packaging status

Terminal window
brew install television
Terminal window
pacman -S television
  • Debian/Ubuntu:
Terminal window
VER=`curl -s "https://api.github.com/repos/alexpasmantier/television/releases/latest" | grep '"tag_name":' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/'`
curl -LO https://github.com/alexpasmantier/television/releases/download/$VER/tv-$VER-x86_64-unknown-linux-musl.deb
echo $VER
sudo dpkg -i tv-$VER-x86_64-unknown-linux-musl.deb
  • Chimera Linux:
Terminal window
apk add chimera-repo-user
apk add television
  • Nix:
Terminal window
nix run nixpkgs#television
Terminal window
scoop bucket add extras
scoop install television
Terminal window
winget install --exact --id alexpasmantier.television
Terminal window
pkgin install television
Terminal window
cargo install television
Terminal window
pixi global install television

Download the latest release from the releases page.

Terminal window
tv # default channel
tv [channel] # e.g. `tv files`, `tv env`, `tv git-repos`, `tv my-awesome-channel` etc.
# pipe the output of your program into tv
my_program | tv
fd -t f . | tv --preview 'bat -n --color=always {}'
# or build your own channel on the fly
tv --source-command 'fd -t f .' --preview-command 'bat -n --color=always {}' --preview-size 70

[!TIP] 🐚 Television has builtin shell integration. More info here.

For more information, check out the docs.

This project was inspired by the awesome work done by the telescope neovim plugin.

It also leverages the great helix editor’s nucleo fuzzy matching library, the tokio async runtime as well as the formidable ratatui library.

A special thanks to tv’s contributors for their help and support: