mirror of
https://github.com/tpope/vim-fugitive.git
synced 2025-11-12 13:23:52 -05:00
Restore ridiculous hack to set cursor position on :Gdiff
This time with :setlocal. Closes #471. References #475.
This commit is contained in:
@@ -1513,6 +1513,9 @@ function! s:Diff(bang,...) abort
|
|||||||
let spec = s:repo().translate(file)
|
let spec = s:repo().translate(file)
|
||||||
let commit = matchstr(spec,'\C[^:/]//\zs\x\+')
|
let commit = matchstr(spec,'\C[^:/]//\zs\x\+')
|
||||||
let restore = s:diff_restore()
|
let restore = s:diff_restore()
|
||||||
|
if exists('+cursorbind')
|
||||||
|
setlocal cursorbind
|
||||||
|
endif
|
||||||
let w:fugitive_diff_restore = restore
|
let w:fugitive_diff_restore = restore
|
||||||
if s:buffer().compare_age(commit) < 0
|
if s:buffer().compare_age(commit) < 0
|
||||||
execute 'rightbelow '.vert.'diffsplit '.s:fnameescape(spec)
|
execute 'rightbelow '.vert.'diffsplit '.s:fnameescape(spec)
|
||||||
@@ -1520,6 +1523,11 @@ function! s:Diff(bang,...) abort
|
|||||||
execute 'leftabove '.vert.'diffsplit '.s:fnameescape(spec)
|
execute 'leftabove '.vert.'diffsplit '.s:fnameescape(spec)
|
||||||
endif
|
endif
|
||||||
let w:fugitive_diff_restore = restore
|
let w:fugitive_diff_restore = restore
|
||||||
|
let winnr = winnr()
|
||||||
|
if getwinvar('#', '&diff')
|
||||||
|
wincmd p
|
||||||
|
call feedkeys("\<C-W>p", 'n')
|
||||||
|
endif
|
||||||
return ''
|
return ''
|
||||||
catch /^fugitive:/
|
catch /^fugitive:/
|
||||||
return 'echoerr v:errmsg'
|
return 'echoerr v:errmsg'
|
||||||
|
|||||||
Reference in New Issue
Block a user