A Telescope extension for Neovim that visualizes and fuzzy-searches your undo tree.
telescope-undo.nvim is a Neovim plugin that extends Telescope to visualize and search through your undo tree. It solves the problem of navigating complex edit histories by providing a tree-based view and fuzzy search capabilities, making it easy to find and revert to specific past states.
Neovim users who frequently edit text and need more powerful undo navigation, particularly developers working on large files or complex refactoring tasks.
It integrates seamlessly with Telescope for a consistent UI, offers fuzzy search across undo states, and provides flexible restoration options, going beyond Neovim's built-in undo/redo.
A telescope extension to view and search your undo tree 🌴
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Transforms linear undo into a navigable text-based tree, allowing users to see branching changes over time, as demonstrated in the screenshot and key features.
Leverages Telescope's finder to search across additions and deletions in each undo state, making it efficient to locate specific edits without manual browsing.
Supports reverting to any state or yanking specific additions/deletions into registers, with configurable keybindings detailed in the mappings section.
Optional delta integration provides side-by-side diffs, and vim_diff_opts allow customizable context, improving change visualization as per configuration examples.
Tightly integrated with Telescope, requiring its setup and dependencies like plenary.nvim, which adds complexity and limits use for those not in the Telescope ecosystem.
Setup involves Lua code for mappings and options, with examples showing non-trivial integration into package managers, potentially daunting for users unfamiliar with Telescope's config.
Enhanced diffs depend on delta, an external tool, and its configuration may not align with user settings, leading to inconsistent previews as noted in the README warnings.