tv isn’t intended to be a direct competitor to fzf, but since the two share similarities, here’s a quick breakdown of how tv differs:
- Batteries-included experience: tv is designed to work out of the box, with minimal setup.
- Smart shell integration: Autocomplete intelligently selects the right source for you.
- Interactive data source switching: You can change the data source on the fly without exiting the application.
- Centralized configuration: All settings are managed in one place, eliminating the need for custom shell scripts.
- Transitions feature: Enables interactive piping of results through multiple steps (e.g., git-repos > files > textual content in files).
- Built-in syntax-highlighted previews: More robust and integrated compared to configuring something like fzf --preview 'bat -n --color=always {0}'.
That said, tv is still an early-stage project (while fzf has been evolving for over 11 years). I’m also planning to draw inspiration from some of fzf’s excellent features in the future.
Television is designed with a "framework-like" approach in mind. Here’s what makes it easy to extend (in a nutshell):
- Custom Cable Channels: You’re not limited to the built-in channels. You can create your own "cable channels"—essentially custom data sources—by tweaking a simple config file. As the project grows, the vision is for users to contribute their own channel recipes to the wiki, making it easy for others to pick and choose what suits their needs.
- Smart Shell Integration: Television integrates seamlessly with your shell, offering features like smart autocomplete and interactive piping of results. It’s also fully customizable, so you can tweak the smart autocomplete behavior or other features to match your workflow.
- Coming Soon: User-definable custom actions within cable channel recipes for an even more streamlined and tailored experience.
This probably doesn’t answer everything, but I’d be happy to dive into more details about any of the points above! :-)