Browse Source

mergetools: add support for nvimdiff (neovim) family

Signed-off-by: pudinha <rogi@skylittlesystem.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
pudinha 4 years ago committed by Junio C Hamano
parent
commit
11868978c7
  1. 4
      contrib/completion/git-completion.bash
  2. 7
      git-mergetool--lib.sh
  3. 1
      mergetools/nvimdiff
  4. 15
      mergetools/vimdiff

4
contrib/completion/git-completion.bash

@ -1712,8 +1712,8 @@ _git_diff () @@ -1712,8 +1712,8 @@ _git_diff ()
}

__git_mergetools_common="diffuse diffmerge ecmerge emerge kdiff3 meld opendiff
tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc
codecompare smerge
tkdiff vimdiff nvimdiff gvimdiff xxdiff araxis p4merge
bc codecompare smerge
"

_git_difftool ()

7
git-mergetool--lib.sh

@ -304,11 +304,14 @@ list_merge_tool_candidates () { @@ -304,11 +304,14 @@ list_merge_tool_candidates () {
tools="$tools smerge"
fi
case "${VISUAL:-$EDITOR}" in
*nvim*)
tools="$tools nvimdiff vimdiff emerge"
;;
*vim*)
tools="$tools vimdiff emerge"
tools="$tools vimdiff nvimdiff emerge"
;;
*)
tools="$tools emerge vimdiff"
tools="$tools emerge vimdiff nvimdiff"
;;
esac
}

1
mergetools/nvimdiff

@ -0,0 +1 @@ @@ -0,0 +1 @@
. "$MERGE_TOOLS_DIR/vimdiff"

15
mergetools/vimdiff

@ -5,7 +5,7 @@ diff_cmd () { @@ -5,7 +5,7 @@ diff_cmd () {

merge_cmd () {
case "$1" in
gvimdiff|vimdiff)
*vimdiff)
if $base_present
then
"$merge_tool_path" -f -d -c '4wincmd w | wincmd J' \
@ -15,11 +15,11 @@ merge_cmd () { @@ -15,11 +15,11 @@ merge_cmd () {
"$LOCAL" "$MERGED" "$REMOTE"
fi
;;
gvimdiff2|vimdiff2)
*vimdiff2)
"$merge_tool_path" -f -d -c 'wincmd l' \
"$LOCAL" "$MERGED" "$REMOTE"
;;
gvimdiff3|vimdiff3)
*vimdiff3)
if $base_present
then
"$merge_tool_path" -f -d -c 'hid | hid | hid' \
@ -34,10 +34,13 @@ merge_cmd () { @@ -34,10 +34,13 @@ merge_cmd () {

translate_merge_tool_path() {
case "$1" in
gvimdiff|gvimdiff2|gvimdiff3)
nvimdiff*)
echo nvim
;;
gvimdiff*)
echo gvim
;;
vimdiff|vimdiff2|vimdiff3)
vimdiff*)
echo vim
;;
esac
@ -48,7 +51,7 @@ exit_code_trustable () { @@ -48,7 +51,7 @@ exit_code_trustable () {
}

list_tool_variants () {
for prefix in '' g; do
for prefix in '' g n; do
for suffix in '' 2 3; do
echo "${prefix}vimdiff${suffix}"
done

Loading…
Cancel
Save