About
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.
It is inspired by the neovim telescope plugin and leverages tokio and the nucleo matcher used by the helix editor to ensure optimal performance.
Installation
See the installation docs.
Quick start
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"
Start searching:
tv files
Switch channels using the remote control and pick from a large choice of community-maintained channels:
See the channels docs for more info on how to set these up.
Usage
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 70
Tip
🐚 Television provides smart autocompletion based on the commands you start typing in your shell.
Take a look at this page for how to set it up for your shell.
Keybindings
See keybindings
Configuration
See configuration
Themes
See themes
Search Patterns
See search patterns
Contributions
Contributions, issues and pull requests are welcome.
See CONTRIBUTING.md and good first issues for more information.
Credits
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.