A fast, non-blocking finder system for Neovim that uses producers and consumers to search files, buffers, and grep results.
Snap is a fast finder system for Neovim that enables quick searching of files, buffers, and grep results. It uses a producer-consumer architecture with coroutines to provide a non-blocking, responsive UI, solving the problem of slow or blocking search operations in large codebases.
Neovim users who need fast, customizable file and text search capabilities, particularly developers working with large codebases who value responsiveness and extensibility.
Developers choose Snap for its non-blocking design, flexible producer-consumer architecture, and seamless integration with tools like ripgrep, fzf, and fzy, offering a highly configurable and performant alternative to built-in Neovim search.
A fast finder system for neovim.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses coroutines to keep the Neovim UI smooth during searches, demonstrated in the README demo with the large gcc codebase without blocking input.
Producer-consumer model allows composing custom search workflows, supported by an extensible Lua API for creating new producers, consumers, and selectors.
Integrates seamlessly with ripgrep, fd, git, and Vim sources, providing versatile file and grep searching options as outlined in the dependency table.
Supports real-time filtering with fzy or fzf for fuzzy matching and scoring, enhancing result discovery with configurable consumers.
Core features require command-line tools like ripgrep, fzf, or fzy, adding setup complexity and potential compatibility issues across systems.
Customizing workflows demands Lua scripting and understanding of the producer-consumer pattern, which is less accessible than plug-and-play alternatives.
The roadmap admits missing components like a Lua filter consumer and comprehensive tests, indicating ongoing development gaps for advanced users.