[Tags] Interrupt handling
This commit is contained in:
parent
93dbf1711e
commit
726d37a686
1 changed files with 18 additions and 13 deletions
|
@ -627,19 +627,24 @@ function! s:tags_sink(lines)
|
|||
normal! m'
|
||||
let qfl = []
|
||||
let cmd = get(get(g:, 'fzf_action', s:default_action), a:lines[0], 'e')
|
||||
let [magic, &magic, wrapscan, &wrapscan] = [&magic, 0, &wrapscan, 1]
|
||||
for line in a:lines[1:]
|
||||
try
|
||||
let parts = split(line, '\t\zs')
|
||||
let excmd = matchstr(join(parts[2:], ''), '^.*\ze;"\t')
|
||||
call s:open(cmd, parts[1][:-2])
|
||||
execute excmd
|
||||
call add(qfl, {'filename': expand('%'), 'lnum': line('.'), 'text': getline('.')})
|
||||
catch
|
||||
call s:warn(v:exception)
|
||||
endtry
|
||||
endfor
|
||||
let [&magic, &wrapscan] = [magic, wrapscan]
|
||||
try
|
||||
let [magic, &magic, wrapscan, &wrapscan] = [&magic, 0, &wrapscan, 1]
|
||||
for line in a:lines[1:]
|
||||
try
|
||||
let parts = split(line, '\t\zs')
|
||||
let excmd = matchstr(join(parts[2:], ''), '^.*\ze;"\t')
|
||||
call s:open(cmd, parts[1][:-2])
|
||||
execute excmd
|
||||
call add(qfl, {'filename': expand('%'), 'lnum': line('.'), 'text': getline('.')})
|
||||
catch /^Vim:Interrupt$/
|
||||
break
|
||||
catch
|
||||
call s:warn(v:exception)
|
||||
endtry
|
||||
endfor
|
||||
finally
|
||||
let [&magic, &wrapscan] = [magic, wrapscan]
|
||||
endtry
|
||||
if len(qfl) > 1
|
||||
call setqflist(qfl)
|
||||
copen
|
||||
|
|
Loading…
Add table
Reference in a new issue