3 ms·
Television: Fast general purpose fuzzy finder TUI
- keyle 2y agoThe demo video is a bit fast, I couldn't really follow. It looks like an fzf alternative?
- seanw444 2y agoBonus points for "written in Rust" not being in the first sentence. I may give this a try and see how it compares to fzf.
- juliangmp 2y agoTo be fair it starts with "Blazing Fast" which very much gives it away
- dietr1ch 2y agoTBF when dealing with I/O using the right async constructs is way more important than the choice of programming language, I/O times will dominate and any mistake on the wrong wait will ruin performance.
- juliangmp 2y agoAbsolutely but "blazing fast" has become kind of a meme among rust projects. Getting a bit tired of seeing it everywhere personally, at least show me some benchmarks when you make claims like this. No shade against this project (or rust in general) though, it looks very nice and I wanna try it out.
- VeejayRampay 2y agoI think the blazing fast has become a meme at this point and people use it very tongue-in-cheek
- DemocracyFTW2 2y ago...but is it web-scale?
- alexpasmantier 2y agoHoly moly, forgot to add that too :p
- hulitu 2y agoBonus points for the name being chosen after a bottle of whisky.
- geddawm 2y agocan I use this in neovim? Something like fzf.vim
- prabir 2y agoI have created a vim plugin that works both in vim and neovim which you can find at https://github.com/prabirshrestha/tv.vim https://github.com/prabirshrestha/tv.vim
- alexpasmantier 2y agoJust added it to the showcase section https://github.com/alexpasmantier/television/wiki/Showcase https://github.com/alexpasmantier/television/wiki/Showcase if you wish to add any details :-)
- northisup 2y agowhat is the tl;dr on this vs fzf?
- cocodill 2y agotv's file previewer is active per default, for fzf you have to hack it via --preview arg. subjectively tv is searching faster and previewer works faster than the fzf-preview.sh
- throwaway290 2y agoIt is obvious that tv is blocking on file preview. I can hold up key and zip up and down in fzf. In tv it causes obvious jank, I guess it waits for every file to render. Fzf doesn't make this mistake because preview is async. It's a clear winner when input lag is concerned.
- alexpasmantier 2y agoAuthor here—thanks for trying out tv and for sharing your feedback, I really appreciate it. The preview window in tv is designed to compute its content asynchronously. This approach ensures smooth input handling and maintains overall UI responsiveness. You can test this yourself by using a custom preview command that simulates a delay, like so: tv --preview "sleep 1 && echo 'the preview'" You'll notice that even with a delay, the UI remains responsive and doesn't block. That said, I'm sure there's always room for improvement, and I'd be happy to hear your thoughts or suggestions if you're open to discussing it further.
- throwaway290 2y agoI see preview renders after the cursor moved, but still cursor moves in jumps unlike fzf. Maybe if you focus on search you don't care about it.
- alexpasmantier 2y ago
- CGamesPlay 2y agoWithout trying to imply that this thing needs to be “different” from fzf, but how is it different, if at all? A comparison would be appreciated.
- alexpasmantier 2y agotv 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.
- eitau_1 2y agoGreat work! From the README: > is designed to be easily extensible Can you elaborate a little on that?
- alexpasmantier 2y agoTelevision 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! :-)
- forrestthewoods 2y agoInteresting. I’ve never found a fuzzyfinder that “just worked” on windows for fuzzy searching in files under the current directory. Will give it a shot.
- dalton_zk 2y agoI look the gif and think, seems like Telescope, and continue reading its said the one inspiration came for that. I love this way to find something out of the box, after telescope I never more use the file explorer.
- 4by4by4 2y agoThis seems similar to fzf with a nice default experience (quick access to fuzzy search files, shell history, git log) and a subset of features. I use fzf to hack together custom TUIs (a calculator, clipboard search, quick LLM chat). The killer feature for me is `--bind` to bind keys and events to custom actions.
- VeejayRampay 2y agotwo things about this: great work on the packaging side of things (I installed it through brew in seconds) and shell integration by default is a really really nice touch, it streamlines everything, great job
- lolotteiscode 2y agoSince I started using this, I have stop using Grep
- motheas 2y agoi might give it a try the project looks well maintained with +1K stars
- rglover 2y agoThis is really wonderful and well made. The only change I'd make is to have the context window opened via ctrl + g to be on by default (w/ an option to toggle off).