Fix #1687 - Parse highlights when verbose > 0
This commit is contained in:
parent
72f002de94
commit
d3ed1e52ba
2 changed files with 30 additions and 19 deletions
|
@ -45,25 +45,23 @@ if !hlexists('ALESignColumnWithErrors')
|
|||
highlight link ALESignColumnWithErrors error
|
||||
endif
|
||||
|
||||
function! ale#sign#SetUpDefaultColumnWithoutErrorsHighlight() abort
|
||||
redir => l:output
|
||||
0verbose silent highlight SignColumn
|
||||
redir end
|
||||
|
||||
let l:highlight_syntax = join(split(l:output)[2:])
|
||||
let l:match = matchlist(l:highlight_syntax, '\vlinks to (.+)$')
|
||||
|
||||
if !empty(l:match)
|
||||
execute 'highlight link ALESignColumnWithoutErrors ' . l:match[1]
|
||||
elseif l:highlight_syntax isnot# 'cleared'
|
||||
execute 'highlight ALESignColumnWithoutErrors ' . l:highlight_syntax
|
||||
endif
|
||||
endfunction
|
||||
|
||||
if !hlexists('ALESignColumnWithoutErrors')
|
||||
function! s:SetSignColumnWithoutErrorsHighlight() abort
|
||||
redir => l:output
|
||||
silent highlight SignColumn
|
||||
redir end
|
||||
|
||||
let l:highlight_syntax = join(split(l:output)[2:])
|
||||
|
||||
let l:match = matchlist(l:highlight_syntax, '\vlinks to (.+)$')
|
||||
|
||||
if !empty(l:match)
|
||||
execute 'highlight link ALESignColumnWithoutErrors ' . l:match[1]
|
||||
elseif l:highlight_syntax isnot# 'cleared'
|
||||
execute 'highlight ALESignColumnWithoutErrors ' . l:highlight_syntax
|
||||
endif
|
||||
endfunction
|
||||
|
||||
call s:SetSignColumnWithoutErrorsHighlight()
|
||||
delfunction s:SetSignColumnWithoutErrorsHighlight
|
||||
call ale#sign#SetUpDefaultColumnWithoutErrorsHighlight()
|
||||
endif
|
||||
|
||||
" Signs show up on the left for error markers.
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
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 join(split(l:output)[2:])
|
||||
return substitute(join(split(l:output)[2:]), ' Last set.*', '', '')
|
||||
endfunction
|
||||
|
||||
function! SetHighlight(name, syntax) abort
|
||||
|
@ -53,3 +54,15 @@ Execute(The SignColumn highlight should be set and reset):
|
|||
|
||||
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')
|
||||
|
|
Reference in a new issue