Re: [PATCH v2 2/2] Support nvim as merge tool
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 20, 2020, 18:52 UTC
- Message-ID
- <xmqq8sfe9fz3.fsf@gitster.c.googlers.com>
- In-Reply-To
- <20200719042335.3913-3-rogi@skylittlesystem.org>
pudinha <rogi@skylittlesystem.org> 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.
Show 102 quoted lines
> 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