ale/test/sign/test_sign_column_highlighting.vader
Horacio Sanson 41ff80dc9e 569 support vim sign group and priority (#2786)
* Use sign-group only on supported vim versions.

The sign-group feature is only available in nvim 0.4.0 and vim 8.1.614.

* Add priority to ALE signs.

This allows users to set a priority to ALE signs to take precedence over
other plugin signs.
2019-09-25 09:15:16 +01:00

69 lines
2.0 KiB
Plaintext

Before:
Save g:ale_change_sign_column_color
Save &verbose
function! ParseHighlight(name) abort
redir => l:output
silent execute 'highlight ' . a:name
redir end
return substitute(join(split(l:output)[2:]), ' Last set.*', '', '')
endfunction
function! SetHighlight(name, syntax) abort
let l:match = matchlist(a:syntax, '\vlinks to (.+)$')
if !empty(l:match)
execute 'highlight link ' . a:name . ' ' . l:match[1]
else
execute 'highlight ' . a:name . ' ' a:syntax
endif
endfunction
let g:sign_highlight = ParseHighlight('SignColumn')
After:
Restore
delfunction ParseHighlight
call SetHighlight('SignColumn', g:sign_highlight)
delfunction SetHighlight
unlet! g:sign_highlight
call ale#sign#Clear()
Execute(The SignColumn highlight shouldn't be changed if the option is off):
let g:ale_change_sign_column_color = 0
let b:sign_highlight = ParseHighlight('SignColumn')
call ale#sign#SetSigns(bufnr(''), [
\ {'bufnr': bufnr(''), 'lnum': 1, 'col': 1, 'type': 'W', 'text': 'x'},
\])
AssertEqual b:sign_highlight, ParseHighlight('SignColumn')
call ale#sign#SetSigns(bufnr(''), [])
AssertEqual b:sign_highlight, ParseHighlight('SignColumn')
Execute(The SignColumn highlight should be set and reset):
let g:ale_change_sign_column_color = 1
call ale#sign#SetSigns(bufnr(''), [
\ {'bufnr': bufnr(''), 'lnum': 1, 'col': 1, 'type': 'W', 'text': 'x'},
\])
AssertEqual 'links to ALESignColumnWithErrors', ParseHighlight('SignColumn')
call ale#sign#SetSigns(bufnr(''), [])
AssertEqual 'links to ALESignColumnWithoutErrors', ParseHighlight('SignColumn')
Execute(The SignColumn should be correctly parsed when verbose=1):
set verbose=1
highlight SignColumn ctermfg=246 ctermbg=7 guifg=#839496 guibg=Grey
call ale#sign#SetUpDefaultColumnWithoutErrorsHighlight()
AssertEqual
\ has('nvim')
\ ? 'ctermfg=246 ctermbg=7 guifg=#839496 guibg=Grey'
\ : 'term=standout ctermfg=246 ctermbg=7 guifg=#839496 guibg=Grey',
\ ParseHighlight('ALESignColumnWithoutErrors')