diff --git a/autoload/ale/list.vim b/autoload/ale/list.vim index 9fe35bf..3de6adb 100644 --- a/autoload/ale/list.vim +++ b/autoload/ale/list.vim @@ -39,6 +39,14 @@ function! ale#list#SetLists(buffer, loclist) abort if (g:ale_open_list && !empty(a:loclist)) || g:ale_keep_list_window_open let l:winnr = winnr() + let l:reset_visual_selection = 0 + let l:reset_character_selection = 0 + if mode() ==? 'v' || mode() ==# "\" + let l:reset_visual_selection = 1 + elseif mode() ==? 's' || mode() ==# "\" + let l:reset_character_selection = 1 + endif + if g:ale_set_quickfix if !ale#list#IsQuickfixOpen() execute 'copen ' . str2nr(ale#Var(a:buffer, 'list_window_size')) @@ -51,6 +59,13 @@ function! ale#list#SetLists(buffer, loclist) abort if l:winnr !=# winnr() wincmd p endif + + if l:reset_visual_selection || l:reset_character_selection + normal! gv + if l:reset_character_selection + normal! "\" + endif + endif endif endfunction