MCPcopy Index your code
hub / github.com/alexpasmantier/television

github.com/alexpasmantier/television @0.15.9

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.15.9 ↗ · + Follow
1,055 symbols 3,164 edges 112 files 221 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Television (tv)

A very fast, portable and hackable fuzzy finder.

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

image

About

Television is a fast, portable fuzzy finder for the terminal. It lets you search in real-time through any kind of data source such as files, text, git repositories, environment variables, docker containers, and more.

Read the documentation

Quick Start

tv              # Search files (default channel)
tv text         # Search file contents
tv git-repos    # Find git repositories
tv --help       # See all options

For a complete introduction, see the Quickstart Guide.

Installation

Quick Install (Recommended)

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

Package Managers

Platform Command
Arch Linux pacman -S television
Homebrew brew install television
Cargo cargo install television
Scoop scoop bucket add extras && scoop install television
WinGet winget install --exact --id alexpasmantier.television
Nix nix run nixpkgs#television

For more installation options, see Installation.

Custom Channels

Create custom channels for any workflow. Here's an example TLDR channel:

# ~/.config/television/cable/tldr.toml
[metadata]
name = "tldr"
description = "Browse TLDR pages"

[source]
command = "tldr --list"

[preview]
command = "tldr '{}'"

[keybindings]
ctrl-e = "actions:open"

[actions.open]
command = "tldr '{}'"
mode = "execute"

Learn more about creating channels.

Shell Integration

Enable smart autocomplete (Ctrl+T) and history search (Ctrl+R):

# Zsh
echo 'eval "$(tv init zsh)"' >> ~/.zshrc

# Bash
echo 'eval "$(tv init bash)"' >> ~/.bashrc

See Shell Integration for more shells.

Editor Integration

Documentation

Credits

Inspired by telescope.nvim. Built with nucleo (fuzzy matching), tokio (async runtime), and ratatui (TUI framework).

Thanks to all contributors:

Extension points exported contracts — how you extend this code

EntryProcessor (Interface)
Implementors of this trait define two things: - how to push lines into the matcher, including any preprocessing steps (e [3 …
television/channels/entry_processor.rs
ResultItem (Interface)
Trait implemented by any item that can be displayed in the results or remote-control list. [3 implementers]
television/screen/result_item.rs
UiComponent (Interface)
Trait implemented by every drawable UI component. [1 implementers]
television/draw.rs

Core symbols most depended-on inside this repo

phantom
called by 132
tests/common/mod.rs
tv_local_config_and_cable_with_args
called by 111
tests/common/mod.rs
push
called by 95
television/utils/cache.rs
insert
called by 74
television/previewer/cache.rs
into
called by 70
television/config/themes.rs
len
called by 68
television/history.rs
is_empty
called by 45
television/history.rs
contains
called by 31
television/utils/cache.rs

Shape

Function 571
Method 348
Class 101
Enum 32
Interface 3

Languages

Rust98%
TypeScript2%
Python1%

Modules by API surface

television/utils/strings.rs54 symbols
television/channels/prototypes.rs52 symbols
television/television.rs41 symbols
television/history.rs38 symbols
television/frecency.rs31 symbols
television/channels/channel.rs31 symbols
tests/cli/ui.rs30 symbols
television/picker.rs30 symbols
television/config/mod.rs28 symbols
television/cli/mod.rs25 symbols
television/config/keybindings.rs24 symbols
television/utils/shell.rs22 symbols

For agents

$ claude mcp add television \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page