Television is a cross-platform, fast and extensible fuzzy finder for the terminal.
It integrates with your shell and lets you quickly search through any kind of data source (files, git repositories, environment variables, docker images, you name it) using a fuzzy matching algorithm and is designed to be extensible.
Television v0.13.3 supports both Unix/Linux and Windows platforms with native command integration and comprehensive channel system.
It is inspired by the neovim telescope plugin and leverages tokio and the nucleo matcher used by the helix editor to ensure optimal performance.
See installation docs.
Create a channel: ~/.config/television/cable/files.toml
[metadata]
name = "files"
description = "A channel to select files and directories"
requirements = ["fd", "bat"]
[source]
command = "fd -t f"
[preview]
command = "bat -n --color=always '{}'"
env = { BAT_THEME = "Catppuccin Mocha" }
[ui]
preview_panel = { "size" = 70, "scrollbar" = true }
[keybindings]
shortcut = "f1"
f12 = "actions:edit"
f11 = ["actions:rm", "reload_source"]
[actions.edit]
description = "Opens the selected entries with the default editor (falls back to vim)"
command = "${EDITOR:-vim} {}"
mode = "execute"
[actions.rm]
description = "Removes the selected entries"
command = "rm {}"Start searching:
tv filesSwitch channels using the remote control and pick from a list of community-maintained channels which you can install with tv update-channels. Television includes both Unix/Linux and Windows-specific channel configurations:
See the channels docs for more info on how to set these up.
tv # default channel
tv [channel] # e.g. `tv files`, `tv env`, `tv git-repos`, 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 70Tip
🐚 Television has builtin shell integration for all major shells (bash, zsh, fish, powershell). More info here.
- Unix/Linux: Full native support with optimized channel configurations
- Windows: Native Windows support with PowerShell integration and Windows-specific commands
- Cross-platform: Consistent experience across all supported platforms
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.