mirror of
https://github.com/tpope/vim-fugitive.git
synced 2025-11-14 06:13:51 -05:00
Provide diff maps in blobs
This commit is contained in:
@@ -3901,17 +3901,9 @@ function! s:OpenParse(args) abort
|
|||||||
return [s:Expand(file), join(pre)]
|
return [s:Expand(file), join(pre)]
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:BlurStatus() abort
|
function! s:DiffClose() abort
|
||||||
if (&previewwindow || exists('w:fugitive_status')) && get(b:,'fugitive_type', '') ==# 'index'
|
|
||||||
let winnrs = filter([winnr('#')] + range(1, winnr('$')), 's:UsableWin(v:val)')
|
|
||||||
if len(winnrs)
|
|
||||||
exe winnrs[0].'wincmd w'
|
|
||||||
else
|
|
||||||
belowright new
|
|
||||||
endif
|
|
||||||
if &diff
|
|
||||||
let mywinnr = winnr()
|
let mywinnr = winnr()
|
||||||
for winnr in range(winnr('$'),1,-1)
|
for winnr in [winnr('#')] + range(winnr('$'),1,-1)
|
||||||
if winnr != mywinnr && getwinvar(winnr,'&diff')
|
if winnr != mywinnr && getwinvar(winnr,'&diff')
|
||||||
execute winnr.'wincmd w'
|
execute winnr.'wincmd w'
|
||||||
close
|
close
|
||||||
@@ -3921,6 +3913,18 @@ function! s:BlurStatus() abort
|
|||||||
endif
|
endif
|
||||||
endfor
|
endfor
|
||||||
diffoff!
|
diffoff!
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:BlurStatus() abort
|
||||||
|
if (&previewwindow || exists('w:fugitive_status')) && get(b:,'fugitive_type', '') ==# 'index'
|
||||||
|
let winnrs = filter([winnr('#')] + range(1, winnr('$')), 's:UsableWin(v:val)')
|
||||||
|
if len(winnrs)
|
||||||
|
exe winnrs[0].'wincmd w'
|
||||||
|
else
|
||||||
|
belowright new
|
||||||
|
endif
|
||||||
|
if &diff
|
||||||
|
call s:DiffClose()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
@@ -5366,6 +5370,15 @@ function! fugitive#MapJumps(...) abort
|
|||||||
call s:Map('n', 'p', ':<C-U>0,3' . blame_map, '<silent>')
|
call s:Map('n', 'p', ':<C-U>0,3' . blame_map, '<silent>')
|
||||||
call s:Map('n', 'gO', ':<C-U>0,4' . blame_map, '<silent>')
|
call s:Map('n', 'gO', ':<C-U>0,4' . blame_map, '<silent>')
|
||||||
call s:Map('n', 'O', ':<C-U>0,5' . blame_map, '<silent>')
|
call s:Map('n', 'O', ':<C-U>0,5' . blame_map, '<silent>')
|
||||||
|
|
||||||
|
call s:Map('n', 'D', ":<C-U>call <SID>DiffClose()<Bar>Gdiffsplit!<Bar>redraw<Bar>echohl WarningMsg<Bar> echo ':Gstatus D is deprecated in favor of dd'<Bar>echohl NONE<CR>", '<silent>')
|
||||||
|
call s:Map('n', 'dd', ":<C-U>call <SID>DiffClose()<Bar>Gdiffsplit!<CR>", '<silent>')
|
||||||
|
call s:Map('n', 'dh', ":<C-U>call <SID>DiffClose()<Bar>Ghdiffsplit!<CR>", '<silent>')
|
||||||
|
call s:Map('n', 'ds', ":<C-U>call <SID>DiffClose()<Bar>Ghdiffsplit!<CR>", '<silent>')
|
||||||
|
call s:Map('n', 'dv', ":<C-U>call <SID>DiffClose()<Bar>Gvdiffsplit!<CR>", '<silent>')
|
||||||
|
call s:Map('n', 'dp', ":<C-U>Git diff !^..! -- %<CR>", '<silent>')
|
||||||
|
call s:Map('n', 'd?', ":<C-U>help fugitive_d<CR>", '<silent>')
|
||||||
|
|
||||||
else
|
else
|
||||||
call s:Map('n', '<CR>', ':<C-U>exe <SID>GF("edit")<CR>', '<silent>')
|
call s:Map('n', '<CR>', ':<C-U>exe <SID>GF("edit")<CR>', '<silent>')
|
||||||
call s:Map('n', 'o', ':<C-U>exe <SID>GF("split")<CR>', '<silent>')
|
call s:Map('n', 'o', ':<C-U>exe <SID>GF("split")<CR>', '<silent>')
|
||||||
|
|||||||
Reference in New Issue
Block a user