floatwin: use win_execute in NeoVim for commands when it exists (#4532)

This commit is contained in:
Oskar Haarklou Veileborg 2023-08-01 22:30:23 +02:00 committed by GitHub
parent 0bc2ea0800
commit af42e0b510
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -37,15 +37,21 @@ function! s:NvimShow(lines, options) abort
endif
" Execute commands in window context
let l:parent_window = nvim_get_current_win()
if exists('*win_execute')
for l:command in get(a:options, 'commands', [])
call win_execute(w:preview['id'], l:command)
endfor
else
let l:parent_window = nvim_get_current_win()
call nvim_set_current_win(w:preview['id'])
call nvim_set_current_win(w:preview['id'])
for l:command in get(a:options, 'commands', [])
call execute(l:command)
endfor
for l:command in get(a:options, 'commands', [])
call execute(l:command)
endfor
call nvim_set_current_win(l:parent_window)
call nvim_set_current_win(l:parent_window)
endif
" Return to parent context on move
augroup ale_floating_preview_window