A Neovim plugin providing a single tabpage interface for reviewing git diffs and file history with merge conflict resolution.
Diffview.nvim is a Neovim plugin that creates a single tabpage interface for reviewing all modified files across any git revision. It solves the problem of manually opening multiple diff splits by providing a unified view where users can easily cycle through changed files, explore commit history, and resolve merge conflicts directly within the editor.
Neovim users who frequently work with git and need an efficient way to review diffs, explore file history, and resolve merge conflicts without leaving their editor.
Developers choose Diffview.nvim for its seamless integration with Neovim's native diff mode, comprehensive merge conflict resolution tools, and intuitive single-pane workflow that significantly speeds up code review and version control tasks.
Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Consolidates all modified files for any git revision into a single tabpage, eliminating the manual hassle of opening multiple diff splits, as described in the introduction for streamlined code review.
Provides 3-way or 4-way diff layouts for merge conflicts during rebase or merge, with dedicated mappings to choose conflict versions, showcased in the merge tool section with examples like conflict_choose actions.
Acts as a porcelain interface for git-log, listing commits affecting specific paths and displaying changes in diff splits, supporting options like filtering and line evolution tracing, as highlighted in the file history showcase.
Offers multiple diff layouts (e.g., diff2_horizontal, diff3_vertical) configurable per view type, allowing customization for different workflows through the setup function.
Enables staging individual hunks by editing index buffers directly from diff views, with keymaps for toggling stage entry and staging all, integrating git operations seamlessly into the review process.
Requires Neovim ≥ 0.7.0 and Git ≥ 2.31.0, excluding users on older systems or editors, and assumes prior knowledge of nvim's builtin diff-mode, as noted in the 'Familiarize Yourself' warning.
Setup involves a lengthy Lua table with numerous options and keymaps, which can be overwhelming for users new to Neovim plugin management or Lua scripting, as seen in the extensive configuration example.
The extensive default keymaps might clash with other Neovim plugins, requiring careful customization to avoid conflicts, as indicated in the keymaps section where mappings can be disabled individually.
Focuses solely on local git operations without built-in integration for cloud-based code review platforms, which may hinder teams using tools like GitHub or GitLab for collaborative workflows.