@matheusbsbs / matheus-bagliano / commits / 11868978c7
Fork 0

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