mergetools: add support for nvimdiff (neovim) family

Signed-off-by: pudinha <rogi@skylittlesystem.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
pudinha 2020-07-29 22:31:13 +01:00 committed by Junio C Hamano
parent 83bbf9b92e
commit 11868978c7
4 changed files with 17 additions and 10 deletions

View File

@ -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 ()

View File

@ -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 Normal file
View File

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

View File

@ -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 () {
"$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 () {
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 () {
}
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