From 1ed25d76ba51f9b3ab66f75b73734be43d41b8c3 Mon Sep 17 00:00:00 2001 From: Michal Domonkos Date: Tue, 17 Nov 2020 06:37:14 +0100 Subject: [PATCH] [vim] Clean up temp files on interrupt (#2252) The clean-up is done in s:collect(), so let's make sure it's run before we may terminate due to CTRL-C or ESC (or some other error code) in s:exit_handler(). --- plugin/fzf.vim | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugin/fzf.vim b/plugin/fzf.vim index 06f79590..247df973 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -645,7 +645,8 @@ function! s:execute(dict, command, use_height, temps) abort endif let exit_status = v:shell_error redraw! - return s:exit_handler(exit_status, command) ? s:collect(a:temps) : [] + let lines = s:collect(a:temps) + return s:exit_handler(exit_status, command) ? lines : [] endfunction function! s:execute_tmux(dict, command, temps) abort @@ -659,7 +660,8 @@ function! s:execute_tmux(dict, command, temps) abort call system(command) let exit_status = v:shell_error redraw! - return s:exit_handler(exit_status, command) ? s:collect(a:temps) : [] + let lines = s:collect(a:temps) + return s:exit_handler(exit_status, command) ? lines : [] endfunction function! s:calc_size(max, val, dict) @@ -806,12 +808,12 @@ function! s:execute_term(dict, command, temps) abort execute self.winrest endif + let lines = s:collect(self.temps) if !s:exit_handler(a:code, self.command, 1) return endif call s:pushd(self.dict) - let lines = s:collect(self.temps) call s:callback(self.dict, lines) call self.switch_back(s:getpos() == self.ppos) endfunction