#tui #search #fuzzy #preview #terminal

app television

The revolution will be televised

12 releases

new 0.1.12 Nov 7, 2024
0.1.11 Nov 5, 2024
0.1.9 Oct 31, 2024
0.1.0 Sep 11, 2024

#61 in Concurrency

Download history 177/week @ 2024-09-05 185/week @ 2024-09-12 13/week @ 2024-09-19 14/week @ 2024-09-26 7/week @ 2024-10-03 387/week @ 2024-10-10 282/week @ 2024-10-17 90/week @ 2024-10-24 362/week @ 2024-10-31

1,121 downloads per month

MIT license

270KB
6.5K SLoC

GitHub branch check runs GitHub License

📺 television

           _______________
          |,----------.  |\
          ||           |=| |
          ||           | | |
          ||           |o| |
          |`-----------' |/
          `--------------'
  __      __         _     _
 / /____ / /__ _  __(_)__ (_)__  ___
/ __/ -_) / -_) |/ / (_-</ / _ \/ _ \
\__/\__/_/\__/|___/_/___/_/\___/_//_/

The revolution will be televised.

📺 About

Television is a blazingly fast general purpose fuzzy finder TUI written in Rust. It is inspired by the neovim Telescope plugin and the fzf command line tool. It is designed to be fast, efficient, easy to use and easily extensible. It is built on top of tokio, ratatui and the nucleo matcher which is used in the helix editor.

📺 Design

Television's design is based on the concept of Channels. A Channel is a source of data that can be used for fuzzy finding. A Channel can be anything from a file system directory, a git repository, a list of strings, a list of numbers, etc. Television provides a set of built-in Channels that can be used out of the box. However, Television is designed to be easily extensible and allows users to define their own custom Channels by implementing a simple trait.

Built-in Channels

  • Files: search through files in a directory tree.
  • Text: search through textual content in a directory tree.
  • GitRepos: search through git repositories anywhere on the file system.
  • Env: search through environment variables and their values.
  • Alias: search through shell aliases and their values.
  • Stdin: search through lines of text from stdin.

Dependencies

~28–42MB
~670K SLoC