-
-
Notifications
You must be signed in to change notification settings - Fork 959
Statusline integration
Qiming zhao edited this page Oct 29, 2018
·
10 revisions
Add section %{coc#status()}
to your statusline
option.
Function coc#status()
including status information of diagnostic of current buffer and all status message received from extensions.
You can use b:coc_diagnostic_info
and g:coc_status
to build your own status function, like:
function! StatusDiagnostic() abort
let info = get(b:, 'coc_diagnostic_info', {})
if empty(info) | return '' | endif
let msgs = []
if get(info, 'error', 0)
call add(msgs, 'E' . info['error'])
endif
if get(info, 'warning', 0)
call add(msgs, 'W' . info['warning'])
endif
return join(msgs, ' '). ' ' . get(g:, 'coc_status', '')
endfunction
Then add %{StatusDiagnostic()}
` to your 'statusline' option.
Integration with eleline.vim
Just works.
Integration with vim-airline
To make airline show the diagnostic information from coc, you can configure airline like:
" if you want to disable auto detect, comment out those two lines
"let g:airline#extensions#disable_rtp_load = 1
"let g:airline_extensions = ['branch', 'hunks', 'coc']
let g:airline_section_error = '%{airline#util#wrap(airline#extensions#coc#get_error(),0)}'
let g:airline_section_warning = '%{airline#util#wrap(airline#extensions#coc#get_warning(),0)}'
Check out :h coc-status-airline
for detail.
Integration with lightline.vim
Use configuration like:
let g:lightline = {
\ 'colorscheme': 'wombat',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ],
\ [ 'cocstatus', 'readonly', 'filename', 'modified' ] ]
\ },
\ 'component_function': {
\ 'cocstatus': 'coc#status'
\ },
\ }