mirror of
https://github.com/tpope/vim-fugitive.git
synced 2025-11-13 13:53:51 -05:00
D in :Gstatus not on a file invokes :Git diff
This commit is contained in:
@@ -539,13 +539,14 @@ function! fugitive#reload_status() abort
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:StageDiff() abort
|
function! s:StageDiff() abort
|
||||||
|
let section = getline(search('^# .*:$','bnW'))
|
||||||
let line = getline('.')
|
let line = getline('.')
|
||||||
let filename = matchstr(line,'^#\t\%([[:alpha:] ]\+: *\)\=\zs.*')
|
let filename = matchstr(line,'^#\t\%([[:alpha:] ]\+: *\)\=\zs.*')
|
||||||
if filename ==# ''
|
if filename ==# '' && section == '# Changes to be committed:'
|
||||||
return ''
|
return 'Git diff --cached'
|
||||||
endif
|
elseif filename ==# ''
|
||||||
let section = getline(search('^# .*:$','bnW'))
|
return 'Git diff'
|
||||||
if line =~# '^#\trenamed:' && filename =~ ' -> '
|
elseif line =~# '^#\trenamed:' && filename =~ ' -> '
|
||||||
let [old, new] = split(filename,' -> ')
|
let [old, new] = split(filename,' -> ')
|
||||||
execute 'Gedit '.s:fnameescape(':0:'.new)
|
execute 'Gedit '.s:fnameescape(':0:'.new)
|
||||||
return 'Gdiff HEAD:'.s:fnameescape(old)
|
return 'Gdiff HEAD:'.s:fnameescape(old)
|
||||||
|
|||||||
Reference in New Issue
Block a user