A Neovim plugin for progressive file investigation by seamlessly switching between file filtering and content searching.
seeker.nvim is a Neovim plugin that enables progressive file investigation by seamlessly switching between file filtering and content searching (grep). It solves the problem of losing context when investigating codebases by allowing users to narrow down files by name, search within those files, and then further refine the file list based on grep results—all in a single, stateful workflow.
Neovim users, particularly developers who frequently navigate and search within large or unfamiliar codebases and want a more efficient, context-preserving workflow than standard file pickers or grep tools.
Developers choose seeker.nvim because it uniquely maintains context across mode switches, eliminating the need to restart searches from scratch each time they switch between filtering files and searching content. Its progressive refinement workflow, built on top of snacks.nvim or Telescope, provides a more integrated and efficient investigation process.
Progressive file seeker 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.
Maintains context across mode switches, allowing iterative narrowing from file filtering to content searching and back, as described in the 'How It Works' section for stateful investigation.
Switches between file and grep modes with a single keybinding (<C-e> by default), enabling quick refinement without restarting searches, as highlighted in the keybindings table.
Supports tab-selection to choose specific files before switching to grep, or uses all visible results automatically, enhancing targeted searches based on the 'Multi-Selection' workflow.
Built on snacks.nvim or Telescope, offering flexibility with customizable toggle keys and picker options via the setup function, as detailed in the configuration section.
Only supports snacks.nvim or Telescope as providers, forcing users to adopt one of these pickers and potentially limiting compatibility with other Neovim setups or picker plugins.
Requires Neovim 0.9.0+, excluding users on older or stable LTS versions who may not update frequently, as stated in the 'Requirements' section.
Manual installation of dependencies and keybinding setup are needed, which can be complex for those new to Neovim plugin management, especially with Lua configuration.