← Wiki

Television (tv) — Terminal Fuzzy Search

Television is a fast, hackable fuzzy finder for the terminal. Written in Rust. Think fzf but with channels, previews, and custom actions.

Why tv over grep/fzf

Install

brew install television   # macOS
cargo install television  # from source

Wiki Search Channels

Two custom channels for the solopreneur knowledge base:

wiki — fuzzy file picker

Find wiki pages by filename. Searches across wiki/, principles, methodology, stacks.

tv wiki              # or: make wiki-tv

Channel config (~/.config/television/cable/wiki.toml):

[metadata]
name = "wiki"
description = "Search solopreneur wiki, methodology, stacks"
requirements = ["rg", "bat"]

[source]
command = [
  "rg --files --glob '*.md' ~/startups/solopreneur/wiki/ ~/startups/solopreneur/0-principles/ ~/startups/solopreneur/1-methodology/ ~/startups/solopreneur/2-inspiration/",
  "rg --files --glob '*.yaml' ~/startups/solopreneur/1-methodology/stacks/"
]

[preview]
command = "bat -n --color=always '{}'"
env = { BAT_THEME = "ansi" }

[keybindings]
shortcut = "f2"
f12 = "actions:edit"

[actions.edit]
command = "${EDITOR:-vim} '{}'"
shell = "bash"
mode = "execute"

wiki-text — full-text content search

Search inside files with ripgrep. Preview shows matching line with context.

tv wiki-text         # or: make wiki-tv-text

Channel config (~/.config/television/cable/wiki-text.toml):

[metadata]
name = "wiki-text"
description = "Full-text search in solopreneur wiki, docs, stacks"
requirements = ["rg", "bat"]

[source]
command = [
  "rg --line-number --no-heading --color=never --glob '*.md' --glob '*.yaml' '' ~/startups/solopreneur/wiki/ ~/startups/solopreneur/0-principles/ ~/startups/solopreneur/1-methodology/ ~/startups/solopreneur/2-inspiration/"
]

[preview]
command = "bat -n --color=always --highlight-line {2} {1}"
delimiter = ":"
env = { BAT_THEME = "ansi" }

[keybindings]
shortcut = "f3"
f12 = "actions:edit"

[actions.edit]
command = "${EDITOR:-vim} +{2} '{1}'"
shell = "bash"
delimiter = ":"
mode = "execute"

Three Search Tools Compared

Tool Type Best for Speed
make wiki-search Q="query" FTS5 BM25 Agent/script, ranked results, stemming ~1ms
make wiki-tv Fuzzy file Human, find a page by name Instant
make wiki-tv-text Fuzzy content Human, find a line in any file Instant

Use FTS5 when you need ranked results, stemming (“agents” → “agent”), or programmatic access. Use tv when you’re browsing interactively and want preview + open in editor.

Adding to Your Project

Copy the .toml files to ~/.config/television/cable/. Adjust paths in [source] command to match your project layout. The pattern works for any markdown-heavy project.

See Also

Related