summaryrefslogtreecommitdiff
path: root/autoload
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2020-08-27 12:41:07 +0100
committerw0rp <devw0rp@gmail.com>2020-08-27 12:41:07 +0100
commit66ff00c4204095e65d8547c86e94325b205365ea (patch)
tree377a8eee0f71a8b65530f3ade09dad9d86797b9d /autoload
parentf5aa0e84577e583349b8849beae9348a0c017720 (diff)
downloadale-66ff00c4204095e65d8547c86e94325b205365ea.zip
Fix #3316 - Repeat -relative for ALERepeatSelection
Diffstat (limited to 'autoload')
-rw-r--r--autoload/ale/preview.vim29
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