[vim] Reset window sizes on close

Fix #520
Fix junegunn/fzf.vim#42
This commit is contained in:
Joshua Rubin 2016-08-25 01:08:27 -06:00 committed by Junegunn Choi
parent f958c9daf5
commit f025602841
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627

View File

@ -431,9 +431,11 @@ function! s:split(dict)
endfunction
function! s:execute_term(dict, command, temps) abort
let winrest = winrestcmd()
let [ppos, winopts] = s:split(a:dict)
let fzf = { 'buf': bufnr('%'), 'ppos': ppos, 'dict': a:dict, 'temps': a:temps,
\ 'winopts': winopts, 'command': a:command }
\ 'winopts': winopts, 'winrest': winrest, 'lines': &lines,
\ 'columns': &columns, 'command': a:command }
function! fzf.switch_back(inplace)
if a:inplace && bufnr('') == self.buf
" FIXME: Can't re-enter normal mode from terminal mode
@ -465,6 +467,10 @@ function! s:execute_term(dict, command, temps) abort
execute 'bd!' self.buf
endif
if &lines <= self.lines && &columns <= self.columns && s:getpos() == self.ppos
execute self.winrest
endif
if !s:exit_handler(a:code, self.command, 1)
return
endif