summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/pack/dist/opt/nvim.difftool/plugin/difftool.lua
blob: 3d4c29d0092c6e092c797196c658fb246785b755 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
if vim.g.loaded_difftool ~= nil then
  return
end
vim.g.loaded_difftool = true

vim.api.nvim_create_user_command('DiffTool', function(opts)
  if #opts.fargs == 2 then
    require('difftool').open(opts.fargs[1], opts.fargs[2])
  else
    vim.notify('Usage: DiffTool <left> <right>', vim.log.levels.ERROR)
  end
end, { nargs = '*', complete = 'file' })

-- If we are in diff mode (e.g. `nvim -d file1 file2`), open the difftool automatically.
local function start_diff()
  if not vim.o.diff then
    return
  end
  local args = vim.v.argf
  if #args == 2 then
    vim.schedule(function()
      require('difftool').open(args[1], args[2])
    end)
  end
end
if vim.v.vim_did_enter > 0 then
  start_diff()
  return
end
vim.api.nvim_create_autocmd('VimEnter', {
  callback = start_diff,
})