pudinha <rogi@xxxxxxxxxxxxxxxxxxx> writes: > Subject: Re: [PATCH v2 2/2] Support nvim as merge tool Perhaps "mergetools: add support for nvimdiff family" or something along that line. > --- Missing sign-off. Thanks. > 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 > > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash > index ee468ea3b0..aed08f8df5 100644 > --- a/contrib/completion/git-completion.bash > +++ b/contrib/completion/git-completion.bash > @@ -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 () > diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh > index 29fecc340f..2defef28cd 100644 > --- a/git-mergetool--lib.sh > +++ b/git-mergetool--lib.sh > @@ -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 > } > diff --git a/mergetools/nvimdiff b/mergetools/nvimdiff > new file mode 100644 > index 0000000000..04a5bb0ea8 > --- /dev/null > +++ b/mergetools/nvimdiff > @@ -0,0 +1 @@ > +. "$MERGE_TOOLS_DIR/vimdiff" > diff --git a/mergetools/vimdiff b/mergetools/vimdiff > index 3925e1fc3e..abc8ce4ec4 100644 > --- a/mergetools/vimdiff > +++ b/mergetools/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