diff options
author | w0rp <devw0rp@gmail.com> | 2020-08-27 12:41:07 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2020-08-27 12:41:07 +0100 |
commit | 66ff00c4204095e65d8547c86e94325b205365ea (patch) | |
tree | 377a8eee0f71a8b65530f3ade09dad9d86797b9d /autoload | |
parent | f5aa0e84577e583349b8849beae9348a0c017720 (diff) | |
download | ale-66ff00c4204095e65d8547c86e94325b205365ea.zip |
Fix #3316 - Repeat -relative for ALERepeatSelection
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/ale/preview.vim | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/autoload/ale/preview.vim b/autoload/ale/preview.vim index faf45cb0..8b94aa7a 100644 --- a/autoload/ale/preview.vim +++ b/autoload/ale/preview.vim @@ -1,14 +1,22 @@ " Author: w0rp <devw0rp@gmail.com> " Description: Preview windows for showing whatever information in. -if !has_key(s:, 'last_selection_list') - let s:last_selection_list = [] +if !has_key(s:, 'last__list') + let s:last_list = [] endif -if !has_key(s:, 'last_selection_open_in') - let s:last_selection_open_in = 'current-buffer' +if !has_key(s:, 'last_options') + let s:last_options = {} endif +function! ale#preview#SetLastSelection(item_list, options) abort + let s:last_list = a:item_list + let s:last_options = { + \ 'open_in': get(a:options, 'open_in', 'current-buffer'), + \ 'use_relative_paths': get(a:options, 'use_relative_paths', 0), + \} +endfunction + " Open a preview window and show some lines in it. " A second argument can be passed as a Dictionary with options. They are... " @@ -81,19 +89,14 @@ function! ale#preview#ShowSelection(item_list, ...) abort let b:ale_preview_item_list = a:item_list let b:ale_preview_item_open_in = get(l:options, 'open_in', 'current-buffer') - " Remove the last preview - let s:last_selection_list = b:ale_preview_item_list - let s:last_selection_open_in = b:ale_preview_item_open_in + " Remember preview state, so we can repeat it later. + call ale#preview#SetLastSelection(a:item_list, l:options) endfunction function! ale#preview#RepeatSelection() abort - if empty(s:last_selection_list) - return + if !empty(s:last_list) + call ale#preview#ShowSelection(s:last_list, s:last_options) endif - - call ale#preview#ShowSelection(s:last_selection_list, { - \ 'open_in': s:last_selection_open_in, - \}) endfunction function! s:Open(open_in) abort |