mergetools: add support for nvimdiff (neovim) family
Signed-off-by: pudinha <rogi@skylittlesystem.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
pudinha committed
Jul 29, 2020 at 22:31 UTC
11868978c7c80d3c29071b29e7964e3d62523819
4 files changed
+17
-10
contrib/completion/git-completion.bash
+2
-2
@@ -1712,8 +1712,8 @@ _git_diff ()
1712
}
1713
1714
__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
1717
"
1718
1719
_git_difftool ()
git-mergetool--lib.sh
+5
-2
@@ -304,11 +304,14 @@ list_merge_tool_candidates () {
304
tools="$tools smerge"
305
fi
306
case "${VISUAL:-$EDITOR}" in
307
+ *nvim*)
308
+ tools="$tools nvimdiff vimdiff emerge"
309
+ ;;
310
*vim*)
308
- tools="$tools vimdiff emerge"
311
+ tools="$tools vimdiff nvimdiff emerge"
312
;;
313
*)
311
- tools="$tools emerge vimdiff"
314
+ tools="$tools emerge vimdiff nvimdiff"
315
;;
316
esac
317
}
mergetools/nvimdiff
new
+1
@@ -0,0 +1 @@
1
+. "$MERGE_TOOLS_DIR/vimdiff"
mergetools/vimdiff
+9
-6
@@ -5,7 +5,7 @@ diff_cmd () {
5
6
merge_cmd () {
7
case "$1" in
8
- gvimdiff|vimdiff)
8
+ *vimdiff)
9
if $base_present
10
then
11
"$merge_tool_path" -f -d -c '4wincmd w | wincmd J' \
@@ -15,11 +15,11 @@ merge_cmd () {
15
"$LOCAL" "$MERGED" "$REMOTE"
16
fi
17
;;
18
- gvimdiff2|vimdiff2)
18
+ *vimdiff2)
19
"$merge_tool_path" -f -d -c 'wincmd l' \
20
"$LOCAL" "$MERGED" "$REMOTE"
21
;;
22
- gvimdiff3|vimdiff3)
22
+ *vimdiff3)
23
if $base_present
24
then
25
"$merge_tool_path" -f -d -c 'hid | hid | hid' \
@@ -34,10 +34,13 @@ merge_cmd () {
34
35
translate_merge_tool_path() {
36
case "$1" in
37
- gvimdiff|gvimdiff2|gvimdiff3)
37
+ nvimdiff*)
38
+ echo nvim
39
+ ;;
40
+ gvimdiff*)
41
echo gvim
42
;;
40
- vimdiff|vimdiff2|vimdiff3)
43
+ vimdiff*)
44
echo vim
45
;;
46
esac
@@ -48,7 +51,7 @@ exit_code_trustable () {
51
}
52
53
list_tool_variants () {
51
- for prefix in '' g; do
54
+ for prefix in '' g n; do
55
for suffix in '' 2 3; do
56
echo "${prefix}vimdiff${suffix}"
57
done