Re: [PATCH v2 9/9] mergetools: vimdiff: use vimdiff for vimdiff3
- From
Fernando Ramos <greenfoo@u92.eu>
- Date
- Aug 7, 2022, 14:46 UTC
- Message-ID
- <Yu/QLJg516n3gJXF@zacax395.localdomain>
- In-Reply-To
- <20220807024941.222018-10-felipe.contreras@gmail.com>
On 22/08/06 09:49PM, Felipe Contreras wrote:
Show 13 quoted lines
>
> diff --git a/mergetools/vimdiff b/mergetools/vimdiff
> index 34373ad92c..daeb3cf1d0 100644
> --- a/mergetools/vimdiff
> +++ b/mergetools/vimdiff
> @@ -325,7 +325,7 @@ gen_cmd () {
> if ! echo "$LAYOUT" | grep ",\|/" >/dev/null
> then
> buf=$(get_buf "$LAYOUT")
> - FINAL_CMD="-c \"set hidden diffopt-=hiddenoff | silent execute 'bufdo diffthis' | ${buf}b\""
> + FINAL_CMD="-d -c \"set hidden diffopt-=hiddenoff diffopt-=closeoff | ${buf}b | only\""
> return
> fiI found something strange while testing this:
This is the final command that is generated now:
vim -d -c "set hidden diffopt-=hiddenoff diffopt-=closeoff | 4b | only" LOCAL BASE REMOTE MERGED
Turns out that now colors "kind of work", but not completely:
- The buffer that is shown by default ("MERGED") contains colors.
- If you switch to the "LOCAL" buffer (":buffer 1") it also contains colors.
- *But* if you switch to any of the other buffers ("BASE" with ":buffer 2"
or "REMOTE" with ":buffer 3"), there are no colors.For some reason, the command that was generated by my patch to v1, does work (?) and all buffers contain diff colors:
vimdiff -c "echo | silent 4b | set hidden | let tmp=bufnr('%') | silent bufdo diffthis | exe 'buffer '.tmp" LOCAL BASE REMOTE MERGED