Skip to content

Commit 1186897

Browse files
pudivagitster
authored andcommitted
mergetools: add support for nvimdiff (neovim) family
Signed-off-by: pudinha <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 83bbf9b commit 1186897

File tree

4 files changed

+17
-10
lines changed

4 files changed

+17
-10
lines changed

contrib/completion/git-completion.bash

+2-2
Original file line numberDiff line numberDiff line change
@@ -1712,8 +1712,8 @@ _git_diff ()
17121712
}
17131713

17141714
__git_mergetools_common="diffuse diffmerge ecmerge emerge kdiff3 meld opendiff
1715-
tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc
1716-
codecompare smerge
1715+
tkdiff vimdiff nvimdiff gvimdiff xxdiff araxis p4merge
1716+
bc codecompare smerge
17171717
"
17181718

17191719
_git_difftool ()

git-mergetool--lib.sh

+5-2
Original file line numberDiff line numberDiff line change
@@ -304,11 +304,14 @@ list_merge_tool_candidates () {
304304
tools="$tools smerge"
305305
fi
306306
case "${VISUAL:-$EDITOR}" in
307+
*nvim*)
308+
tools="$tools nvimdiff vimdiff emerge"
309+
;;
307310
*vim*)
308-
tools="$tools vimdiff emerge"
311+
tools="$tools vimdiff nvimdiff emerge"
309312
;;
310313
*)
311-
tools="$tools emerge vimdiff"
314+
tools="$tools emerge vimdiff nvimdiff"
312315
;;
313316
esac
314317
}

mergetools/nvimdiff

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
. "$MERGE_TOOLS_DIR/vimdiff"

mergetools/vimdiff

+9-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ diff_cmd () {
55

66
merge_cmd () {
77
case "$1" in
8-
gvimdiff|vimdiff)
8+
*vimdiff)
99
if $base_present
1010
then
1111
"$merge_tool_path" -f -d -c '4wincmd w | wincmd J' \
@@ -15,11 +15,11 @@ merge_cmd () {
1515
"$LOCAL" "$MERGED" "$REMOTE"
1616
fi
1717
;;
18-
gvimdiff2|vimdiff2)
18+
*vimdiff2)
1919
"$merge_tool_path" -f -d -c 'wincmd l' \
2020
"$LOCAL" "$MERGED" "$REMOTE"
2121
;;
22-
gvimdiff3|vimdiff3)
22+
*vimdiff3)
2323
if $base_present
2424
then
2525
"$merge_tool_path" -f -d -c 'hid | hid | hid' \
@@ -34,10 +34,13 @@ merge_cmd () {
3434

3535
translate_merge_tool_path() {
3636
case "$1" in
37-
gvimdiff|gvimdiff2|gvimdiff3)
37+
nvimdiff*)
38+
echo nvim
39+
;;
40+
gvimdiff*)
3841
echo gvim
3942
;;
40-
vimdiff|vimdiff2|vimdiff3)
43+
vimdiff*)
4144
echo vim
4245
;;
4346
esac
@@ -48,7 +51,7 @@ exit_code_trustable () {
4851
}
4952

5053
list_tool_variants () {
51-
for prefix in '' g; do
54+
for prefix in '' g n; do
5255
for suffix in '' 2 3; do
5356
echo "${prefix}vimdiff${suffix}"
5457
done

0 commit comments

Comments
 (0)