view autoload/lawrencium/revert.vim @ 148:fb65725f2872

Use winsaveview() and winrestview() to save a few lines of code.
author Shane Harper <shane@shaneharper.net>
date Sat, 11 Jan 2020 14:29:47 +1100
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