From af42e0b510365bb137567336386262565150f26b Mon Sep 17 00:00:00 2001 From: Oskar Haarklou Veileborg Date: Tue, 1 Aug 2023 22:30:23 +0200 Subject: floatwin: use win_execute in NeoVim for commands when it exists (#4532) --- autoload/ale/floating_preview.vim | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/autoload/ale/floating_preview.vim b/autoload/ale/floating_preview.vim index d9172150..970a9b30 100644 --- a/autoload/ale/floating_preview.vim +++ b/autoload/ale/floating_preview.vim @@ -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 -- cgit v1.2.3