From: Fernando Ramos <greenfoo@u92.eu>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v2 0/9] mergetools: vimdiff: regression fix and reorg
Date: Sun, 7 Aug 2022 20:39:05 +0200 [thread overview]
Message-ID: <YvAGycJR8Yq3hxOh@zacax395.localdomain> (raw)
In-Reply-To: <CAMP44s2s7QV9+Pgkchfk9=X-6Vwz_QZP0Vd145-euT-SR9Xw6Q@mail.gmail.com>
On 22/08/07 10:39AM, Felipe Contreras wrote:
>
> That's because the diff mode only highlights differences between the
> windows in the tab. If you do something like "BASE,MERGED" the diff
> won't show colors for LOCAL or REMOTE.
That's right. I've been looking into this in detail today and I think I finally
have a good solution which...
- Makes vimdiff3 work as any other layout (no special case, not even an
extra "if" to handle it)
- Makes colors work *in all cases*: single tab with single window and also
multiple tabs where one or more of them contain one single window (in that
case the diff is made agains all buffers)
- Works even with an empty .vimrc
I'll post the patch as a reply to this message.
> That's why I don't like any mode other than vimdiff3 (and occasionally
> vimdiff): because I want to see the diff for all the files, even if I
> don't see those files. If I open mergetool with vimdiff and I close
> the BASE window I get something better than vimdiff2.
You can keep using vimdiff3 but now, also, after this fix, you can use any
layout you want and append "+ MERGED" at the end (or beginning) and that
particular tab (and only that) will behave the same as "vimdiff3" :)
> To me if I configure "BASE,MERGED" and I close the first window, I
> should end up with the same view as "MERGED", but I don't, which is
> why I fundamentally don't like this layout approach.
This won't work. Not even after the fix. If you want to modify the layout (ex:
by closing a window) vim won't automatically update the list of buffers to
consider for the diff.
You can always manually update the list later *or* use "+ MERGED" as previously
described.
The root cause for this is that, when opening vim, we must decide what to diff
on each tab, and the logic after my patch works like this:
- If there are more than 1 window, diff among opened windows.
- If there is only 1 window, diff among all buffers
Seems to be the best of both worlds :)
Let me know what you think.
Thanks.
next prev parent reply other threads:[~2022-08-07 18:39 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-07 2:49 [PATCH v2 0/9] mergetools: vimdiff: regression fix and reorg Felipe Contreras
2022-08-07 2:49 ` [PATCH v2 1/9] mergetools: vimdiff: fix comment Felipe Contreras
2022-08-07 2:49 ` [PATCH v2 2/9] mergetools: vimdiff: shuffle single window case Felipe Contreras
2022-08-07 14:46 ` Fernando Ramos
2022-08-07 15:44 ` Felipe Contreras
2022-08-07 2:49 ` [PATCH v2 3/9] mergetools: vimdiff: add get_buf() helper Felipe Contreras
2022-08-07 2:49 ` [PATCH v2 4/9] mergetools: vimdiff: make vimdiff3 actually work Felipe Contreras
2022-08-07 2:49 ` [PATCH v2 5/9] mergetools: vimdiff: silence annoying messages Felipe Contreras
2022-08-07 2:49 ` [PATCH v2 6/9] mergetools: vimdiff: fix for diffopt Felipe Contreras
2022-08-07 2:49 ` [PATCH v2 7/9] mergetools: vimdiff: cleanup cruft Felipe Contreras
2022-08-07 2:49 ` [PATCH v2 8/9] mergetools: vimdiff: fix single window mode Felipe Contreras
2022-08-07 2:49 ` [PATCH v2 9/9] mergetools: vimdiff: use vimdiff for vimdiff3 Felipe Contreras
2022-08-07 14:46 ` Fernando Ramos
2022-08-07 7:54 ` [PATCH v2 0/9] mergetools: vimdiff: regression fix and reorg Fernando Ramos
2022-08-07 15:39 ` Felipe Contreras
2022-08-07 18:39 ` Fernando Ramos [this message]
2022-08-07 18:43 ` [PATCH 1/2] vimdiff: fix single tab mode, single window mode and colors Fernando Ramos
2022-08-07 18:43 ` [PATCH 2/2] vimdiff: update unit tests Fernando Ramos
2022-08-07 22:27 ` [PATCH v2 0/9] mergetools: vimdiff: regression fix and reorg Felipe Contreras
2022-08-08 5:34 ` [PATCH v3 0/3] mergetools: vimdiff: regression fix (vimdiff3 mode) Fernando Ramos
2022-08-08 5:34 ` [PATCH v3 1/3] mergetools: vimdiff: fix comment Fernando Ramos
2022-08-08 5:34 ` [PATCH v3 2/3] mergetools: vimdiff: fix single tab mode, single window mode and colors Fernando Ramos
2022-08-08 6:37 ` Felipe Contreras
2022-08-08 18:14 ` Fernando Ramos
2022-08-08 21:00 ` Felipe Contreras
2022-08-08 21:51 ` Fernando Ramos
2022-08-09 0:59 ` Felipe Contreras
2022-08-08 5:34 ` [PATCH v3 3/3] mergetools: vimdiff: update unit tests Fernando Ramos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YvAGycJR8Yq3hxOh@zacax395.localdomain \
--to=greenfoo@u92.eu \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).