@@ -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 ()
@@ -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
}
new file mode 100644
@@ -0,0 +1 @@
+. "$MERGE_TOOLS_DIR/vimdiff"
@@ -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
Signed-off-by: pudinha <rogi@skylittlesystem.org> --- contrib/completion/git-completion.bash | 4 ++-- git-mergetool--lib.sh | 7 +++++-- mergetools/nvimdiff | 1 + mergetools/vimdiff | 15 +++++++++------ 4 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 mergetools/nvimdiff