git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: pudinha
Message 10 of 10 in “Support nvim as mergetool”
  1. Support nvim as mergetoolpudinha, Jul 18, 2020
  2. Junio C HamanoJul 18, 2020
  3. 1/2 Refactor vimdiff and bc merge tool variantspudinha, Jul 19, 2020
  4. Junio C HamanoJul 20, 2020
  5. 0/2 Support nvim as merge toolpudinha, Jul 19, 2020
  6. 0/2 mergetools: add support for nvimdiff (neovim) familypudinha, Jul 29, 2020
  7. 1/2 mergetool--lib: improve support for vimdiff-style tool variantspudinha, Jul 29, 2020
  8. 2/2 mergetools: add support for nvimdiff (neovim) familypudinha, Jul 29, 2020
  9. 2/2 Support nvim as merge toolpudinha, Jul 19, 2020
  10. Junio C HamanoJul 20, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.