Ernie Rael wrote:
> On the voting page I see: > > 5 92 improve diff mode: automatic refresh, better merge support > ... > 11 72 add diff/merge capability for git, mercurial et al. > > I don't understand the intent of item 11. For example, there's the > plugin > > https://docs.stevelosh.com/splice.vim/ Some of the items have been worked on or are available in some form, but some users might not find it sufficient. The "automatic refresh" is more or less done by including and using xdiff. But is it sufficient? > Which is full featured. (It's a vimL/python hybrid); there's > instructions for using it from git, mercurial and bazaar; there's a > demo screencast. I think it has some great features; I'm far from > expert on merging and/or merge tools; so who knows. Splice hasn't been > touched in around 10 years. > > I'm wondering if there's a need for item 11 since plugins can do it, > perhaps Splice could be released with vim if an out of the box merge > tool is wanted. Perhaps some people can't find the right plugin? That is always going to be hard. Recommendations from others probably work best. > To both improve my merging and learn vim9, I did some development work > with Splice. I converted its vimL code, and some python, to vim9 and > added some features (for example clickable/rollover HUD commands > (heads up display)). Made some contributions to vim along the way, > that was cool. When vim9 classes are available, I'm thinking of > porting the remaining python code, then there will be pure vim Splice. > > Some features, under item 5, could be added that would allow > improvements to Splice, or any merge tool. There's probably more > features that could be added for merge tools; following are ones I > recall; I didn't delve into the issues very far. > > - positions relating to sync and diff information > One view has 4 buffers each displaying a different stage of the > change/merge. Would like to highlight a given conflict in each of > the buffers. The positions for each conflict must account for the > visual "holes" (where one side has text and the other doesn't). > Getting the data for any combo of sync/diff sounds good. There was some work done to improve how a change is displayed, but it was never finished. Currently it is just based on any difference, it would be much better to take into account how much is different. E.g. when putting a code block inside an "if" the lines shift, but otherwise stay the same, but the inserted line makes them show up very different, because they are not aligned. > - what would diffput/diffget do > I saw a request for merging both sides of a conflict, this data > might help with that. Or perhaps a new command "merge-both-sides" > might be the way to go, always assuming some manual fixup > afterwards. > - Interactions of text property priorities and diff highlights > Also had some interaction issues with search highlighting. > todo item that considers this: "Text properties:" > (BTW, virtual text fixes one of the text property todo items) I haven't been able to think of a universal solution to highlight priorities. Requires something like a matrix... -- FATHER: You killed eight wedding guests in all! LAUNCELOT: Er, Well ... the thing is ... I thought your son was a lady. FATHER: I can understand that. "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/20220819121752.19E2A1C0B04%40moolenaar.net.
