diffview.nvim icon indicating copy to clipboard operation
diffview.nvim copied to clipboard

How to just diff split the current buffer?

Open jcorbin opened this issue 1 year ago • 1 comments

I'm trying to recover an analog of fugitive's :Gsplit but using diffview instead:

  • it looks like one could just :split diffview://......
  • but what's the best way to compute that "diffview path for the current buffer" url?
  • basically I'm trying to make my own :DiffviewSplit command, rather than using the whole tabpage ui deal

jcorbin avatar Mar 06 '24 18:03 jcorbin

Here's where I'm at currently:

vim.api.nvim_create_user_command('DiffviewSplit', function()
  local bufname = vim.api.nvim_buf_get_name(0)
  vim.cmd.split('diffview://' .. bufname)
  -- NOTE this doesn't work, since diffview want a url more like
  -- 'diffview://' .. gitdir .. ':0:' .. relpath
end, {})

is there some function inside require('diffview') that can get the correct url?

jcorbin avatar Mar 06 '24 18:03 jcorbin

Creating a buffer with a valid diffview URI will not automatically populate it with content. It will just be an empty buffer. We don't have BufReadCmd auto commands set up for this, as the plugin itself does not need them.

There is no way to use the plugin without the tab page interface. But if you want to open a view with only the current file, you can call :DiffviewOpen -- %.

sindrets avatar May 29 '24 14:05 sindrets