id = "television" name = "Television" homepage = "https://alexpasmantier.github.io/television/" description = "A very fast, portable and hackable fuzzy finder for the terminal." # The project's own logo, from its website's source (Simple Icons has none). icon = "https://raw.githubusercontent.com/alexpasmantier/television/main/website/static/img/logo.svg" executables = ["tv"] [dotfiles] # https://github.com/alexpasmantier/television — the project's configuration # examples use ~/.config/television/config.toml and cable/*.toml. The official # configuration reference also documents the Windows LocalAppData location; # these are the fixed user paths that can be represented here. paths = [ "~/.config/television/config.toml", "~/.config/television/cable/", "%LOCALAPPDATA%/television/config", ] secret = [] side_effect = false [commands] format = 1 label = "Fuzzy find" description = "Open television on a channel or an ad-hoc source command, optionally with a preview command. UI layout, keybinding and template options are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "manpage" kind = "manual" url = "https://raw.githubusercontent.com/alexpasmantier/television/main/man/tv.1" revision = "main 2026-10-27" evidence = """ [CHANNEL] Which channel shall we watch? [PATH] The working directory to start the application in. -s, --source-command Source command to use for the current channel. --ansi Whether tv should extract and parse ANSI style codes from the source command output. --no-sort Disable automatic sorting of entries based on match quality. -p, --preview-command --no-preview -i, --input --layout Layout orientation for the UI. [possible values: landscape, portrait] --height Height in lines for non-fullscreen mode. --inline Use all available empty space at the bottom of the terminal as an inline interface. --exact Use substring matching instead of fuzzy matching. --select-1 Automatically select and output the first entry if there is only one entry. """ [[commands.field]] id = "channel" label = "Channel" description = "Leave empty with a source command for an ad-hoc channel. Run tv list-channels to see channels." type = "string" position = 0 suggestions = [{ value = "files", label = "files" }, { value = "text", label = "text" }, { value = "git-repos", label = "git-repos" }] sources = ["manpage"] [[commands.field]] id = "path" label = "Working directory" type = "path" position = 1 path = { kind = "directory", role = "input" } sources = ["manpage"] [[commands.field]] id = "source_command" label = "Source command" description = "Overrides the channel's command, or defines an ad-hoc channel when no channel is given." type = "string" option = ["--source-command", "-s"] sources = ["manpage"] [[commands.field]] id = "preview_command" label = "Preview command" description = "Use {} for the selected entry, e.g. cat {}." type = "string" option = ["--preview-command", "-p"] sources = ["manpage"] [[commands.field]] id = "input" label = "Initial query" type = "string" option = ["--input", "-i"] sources = ["manpage"] [[commands.field]] id = "exact" label = "Substring matching" type = "boolean" option = ["--exact"] sources = ["manpage"] [[commands.field]] id = "select_1" label = "Auto-select a single match" type = "boolean" option = ["--select-1"] sources = ["manpage"] [[commands.field]] id = "no_sort" label = "Keep source order" type = "boolean" option = ["--no-sort"] sources = ["manpage"] [[commands.field]] id = "ansi" label = "Parse ANSI colors" type = "boolean" option = ["--ansi"] sources = ["manpage"] [[commands.field]] id = "no_preview" label = "No preview panel" type = "boolean" option = ["--no-preview"] sources = ["manpage"] [[commands.field]] id = "layout" label = "Layout" type = "enum" option = ["--layout"] choices = [{ value = "landscape", label = "Landscape" }, { value = "portrait", label = "Portrait" }] sources = ["manpage"] [[commands.field]] id = "inline" label = "Inline interface" type = "boolean" option = ["--inline"] sources = ["manpage"] [[commands.field]] id = "height" label = "Height (lines)" type = "integer" option = ["--height"] sources = ["manpage"] [[commands.task]] id = "channel" label = "Browse a channel" fields = ["channel", "path", "input"] required = ["channel"] [[commands.task]] id = "adhoc" label = "Ad-hoc source with preview" fields = ["source_command", "preview_command", "path"] required = ["source_command"] [[commands.group]] id = "basic" label = "Basic" fields = ["channel", "path", "source_command", "preview_command", "input"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["exact", "select_1", "no_sort", "ansi", "no_preview", "layout", "inline", "height"]