diff --git a/bundle/git.vim/autoload/git/mv.vim b/bundle/git.vim/autoload/git/mv.vim index dd7c826bb..7e8a30c90 100644 --- a/bundle/git.vim/autoload/git/mv.vim +++ b/bundle/git.vim/autoload/git/mv.vim @@ -12,35 +12,57 @@ let s:JOB = SpaceVim#api#import('job') function! git#mv#run(args) abort let args = a:args - if index(a:args, '%') !=# -1 - let index = index(a:args, '%') - let args[index] = expand('%') - endif - let cmd = ['git', 'mv'] + args - call git#logger#info('git-mv cmd:' . string(cmd)) - call s:JOB.start(cmd, - \ { - \ 'on_exit' : function('s:on_exit'), - \ } - \ ) + if index(a:args, '%') !=# -1 + let index = index(a:args, '%') + let args[index] = expand('%') + endif + let cmd = ['git', 'mv'] + args + call git#logger#info('git-mv cmd:' . string(cmd)) + call s:JOB.start(cmd, + \ { + \ 'on_exit' : function('s:on_exit'), + \ } + \ ) endfunction function! s:on_exit(id, data, event) abort - call git#logger#info('git-mv exit data:' . string(a:data)) - if a:data ==# 0 - if exists(':GitGutter') - GitGutter - endif - echo 'done!' - else - echo 'failed!' + call git#logger#info('git-mv exit data:' . string(a:data)) + if a:data ==# 0 + if exists(':GitGutter') + GitGutter endif + echo 'done!' + else + echo 'failed!' + endif endfunction -function! git#rm#complete(ArgLead, CmdLine, CursorPos) abort +function! s:options() abort + return join([ + \ '-v', + \ '-n', + \ '-f', + \ '-k', + \ ], "\n") +endfunction - return "%\n" . join(getcompletion(a:ArgLead, 'file'), "\n") +function! s:long_options() abort + return join([ + \ '--verbose', + \ '--dry-run', + \ '--force', + \ ], "\n") +endfunction + +function! git#mv#complete(ArgLead, CmdLine, CursorPos) abort + if a:ArgLead =~# '^--' + return s:long_options() + elseif a:ArgLead =~# '^-' + return s:options() + endif + + return "%\n" . join(getcompletion(a:ArgLead, 'file'), "\n") endfunction