Option to open lists vertically (#1381)
* Add configuration option to open lists vertically * Add tests, clean up vertical list config * Vertical list option cleanup * Use is# for tests * Order properties in documentation alphabetically
This commit is contained in:
parent
2096562899
commit
acbe527e15
7 changed files with 78 additions and 2 deletions
|
@ -66,6 +66,7 @@ Before:
|
|||
\ 'let g:ale_linters = {}',
|
||||
\ 'let g:ale_linters_explicit = 0',
|
||||
\ 'let g:ale_list_window_size = 10',
|
||||
\ 'let g:ale_list_vertical = 0',
|
||||
\ 'let g:ale_loclist_msg_format = ''%code: %%s''',
|
||||
\ 'let g:ale_max_buffer_history_size = 20',
|
||||
\ 'let g:ale_max_signs = -1',
|
||||
|
|
|
@ -5,6 +5,7 @@ Before:
|
|||
Save g:ale_open_list
|
||||
Save g:ale_keep_list_window_open
|
||||
Save g:ale_list_window_size
|
||||
Save g:ale_list_vertical
|
||||
Save g:ale_buffer_info
|
||||
Save g:ale_set_lists_synchronously
|
||||
|
||||
|
@ -13,6 +14,7 @@ Before:
|
|||
let g:ale_open_list = 0
|
||||
let g:ale_keep_list_window_open = 0
|
||||
let g:ale_list_window_size = 10
|
||||
let g:ale_list_vertical = 0
|
||||
let g:ale_set_lists_synchronously = 1
|
||||
|
||||
let g:loclist = [
|
||||
|
@ -33,16 +35,29 @@ Before:
|
|||
return 0
|
||||
endfunction
|
||||
|
||||
" If the window is vertical, window size should match column size/width
|
||||
function GetQuickfixIsVertical(cols) abort
|
||||
for l:win in range(1, winnr('$'))
|
||||
if getwinvar(l:win, '&buftype') is# 'quickfix'
|
||||
return winwidth(l:win) == a:cols
|
||||
endif
|
||||
endfor
|
||||
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
After:
|
||||
Restore
|
||||
|
||||
unlet! g:loclist
|
||||
unlet! b:ale_list_vertical
|
||||
unlet! b:ale_list_window_size
|
||||
unlet! b:ale_open_list
|
||||
unlet! b:ale_keep_list_window_open
|
||||
unlet! b:ale_save_event_fired
|
||||
|
||||
delfunction GetQuickfixHeight
|
||||
delfunction GetQuickfixIsVertical
|
||||
|
||||
" Close quickfix window after every execute block
|
||||
lcl
|
||||
|
@ -98,6 +113,24 @@ Execute(The quickfix window height should be correct for the loclist with buffer
|
|||
|
||||
AssertEqual 8, GetQuickfixHeight()
|
||||
|
||||
Execute(The quickfix window should be vertical for the loclist with appropriate variables):
|
||||
let g:ale_open_list = 1
|
||||
let b:ale_list_window_size = 8
|
||||
let b:ale_list_vertical = 1
|
||||
|
||||
call ale#list#SetLists(bufnr('%'), g:loclist)
|
||||
|
||||
AssertEqual 1, GetQuickfixIsVertical(b:ale_list_window_size)
|
||||
|
||||
Execute(The quickfix window should be horizontal for the loclist with appropriate variables):
|
||||
let g:ale_open_list = 1
|
||||
let b:ale_list_window_size = 8
|
||||
let b:ale_list_vertical = 0
|
||||
|
||||
call ale#list#SetLists(bufnr('%'), g:loclist)
|
||||
|
||||
AssertEqual 0, GetQuickfixIsVertical(b:ale_list_window_size)
|
||||
|
||||
Execute(The quickfix window should stay open for just the loclist):
|
||||
let g:ale_open_list = 1
|
||||
let g:ale_keep_list_window_open = 1
|
||||
|
@ -167,6 +200,24 @@ Execute(The quickfix window height should be correct for the quickfix list with
|
|||
|
||||
AssertEqual 8, GetQuickfixHeight()
|
||||
|
||||
Execute(The quickfix window should be vertical for the quickfix with appropriate variables):
|
||||
let g:ale_open_list = 1
|
||||
let b:ale_list_window_size = 8
|
||||
let b:ale_list_vertical = 1
|
||||
|
||||
call ale#list#SetLists(bufnr('%'), g:loclist)
|
||||
|
||||
AssertEqual 1, GetQuickfixIsVertical(b:ale_list_window_size)
|
||||
|
||||
Execute(The quickfix window should be horizontal for the quickfix with appropriate variables):
|
||||
let g:ale_open_list = 1
|
||||
let b:ale_list_window_size = 8
|
||||
let b:ale_list_vertical = 0
|
||||
|
||||
call ale#list#SetLists(bufnr('%'), g:loclist)
|
||||
|
||||
AssertEqual 0, GetQuickfixIsVertical(b:ale_list_window_size)
|
||||
|
||||
Execute(The buffer ale_open_list option should be respected):
|
||||
let b:ale_open_list = 1
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue