A Neovim plugin for managing bookmarks as navigable stacks with a configurable UI and optional persistence.
spelunk.nvim is a Neovim plugin that reimagines bookmark management by organizing locations into related stacks, aligning with the layered nature of code navigation. It provides an intuitive, opinionated UI out of the box while remaining configurable for advanced users.
Neovim users who frequently navigate between related code locations and want a more structured bookmarking system than native marks. It's particularly useful for developers working on codebases with layered functionality or complex navigation patterns.
Developers choose spelunk.nvim for its stack-based bookmark organization that mirrors how code is naturally layered, combined with a ready-to-use experience including default keymaps and UI. Unlike API-centric alternatives, it provides immediate functionality while still offering deep customization through its internal API.
Create and manage bookmarks as stacks in Neovim with a friendly UI.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Groups bookmarks into related stacks, aligning with layered code navigation for intuitive management of complex locations, as highlighted in the design goals.
Provides full default keymaps and a toggleable UI out of the box, reducing setup time compared to API-centric plugins, per the philosophy section.
Offers opt-in per-directory bookmark persistence with optional Git branch restriction, allowing flexible state management for project-specific contexts.
Supports fuzzy search via multiple providers like Telescope and fzf-lua, plus statusline display with lualine.nvim, enhancing workflow compatibility.
The internal API is not guaranteed to be stable, as admitted in the README, which can break custom integrations or scripts in future updates.
Advanced features like enhanced fuzzy search or Treesitter context require optional dependencies, adding setup complexity and potential bloat.
Only works with Neovim stable versions 0.11.0 and above, excluding users on older releases or nightly builds, as specified in requirements.