aboutsummaryrefslogtreecommitdiff
path: root/runtime/pack/dist/opt/nvim.difftool/plugin
Commit message (Collapse)AuthorAge
* fix(startup): use `nvim.difftool` for `nvim -d` only for directories #40185Tomas Slusny2026-06-11
| | | | | | | | | | | | | | | | | | Problem: `nvim -u NONE -d <(xxd one) <(xxd two)` has weird behavior. Process substitution `<(...)` is a pipe and not a seekable file. Test case: cat /dev/random | head -c 10240 > one cp one two cat /dev/random | head -c 10240 >> two nvim -u NONE -d <(xxd one) <(xxd two) Solution: Workaround the issue by skipping `nvim.difftool` if the 2 args are not directories; fall-through to the builtin diff handling. Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
* feat(difftool): replace old "nvim -d" automatically #38057Tomas Slusny2026-02-28
| | | | | | | | | | Problem: "nvim -d" doesn't leverage nvim.difftool. Solution: If nvim.difftool was enabled via :packadd, automatically handle "nvim -d" on startup. nvim -c "packadd nvim.difftool" -d dir1/ dir2/
* feat(plugins): nvim.difftool can compare directories #35448Tomas Slusny2025-10-11
Problem: Built-in diff mode (nvim -d) does not support directory diffing as required by git difftool -d. This makes it difficult to compare entire directories, detect renames, and navigate changes efficiently. Solution: Add a DiffTool plugin and command that enables side-by-side diffing of files and directories in Neovim. The plugin supports rename detection, highlights changes in the quickfix list, and provides a user command for easy invocation. This allows proper integration with git difftool -d for directory comparison. Example git config: ```ini [diff] tool = nvim_difftool [difftool "nvim_difftool"] cmd = nvim -c "packadd nvim.difftool" -c "DiffTool $LOCAL $REMOTE" ``` Signed-off-by: Tomas Slusny <slusnucky@gmail.com> Co-authored-by: Phạm Bình An <111893501+brianhuster@users.noreply.github.com> Co-authored-by: Justin M. Keyes <justinkz@gmail.com>