view autoload/lawrencium/revert.vim @ 150:7aa118f73e8c

Improve support for moved files in diff commands. Now we only check for moved files if we get an empty diff/cat output from the normal codepath. We also do that for both sides of a diff, and for the diff-summary commands.
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 10 Oct 2020 09:30:27 -0700
parents 065625e1bb31
children
line wrap: on
line source


function! lawrencium#revert#init() abort
    call lawrencium#add_command("-bang -nargs=* -complete=customlist,lawrencium#list_repo_files Hgrevert :call lawrencium#revert#HgRevert(<bang>0, <f-args>)")
endfunction

function! lawrencium#revert#HgRevert(bang, ...) abort
    " Get the files to revert.
    let l:filenames = a:000
    if a:0 == 0
        let l:filenames = [ expand('%:p') ]
    endif
    if a:bang
        call insert(l:filenames, '--no-backup', 0)
    endif

    " Get the repo and run the command.
    let l:repo = lawrencium#hg_repo()
    call l:repo.RunCommand('revert', l:filenames)

    " Re-edit the file to see the change.
    edit
endfunction