coc: add in coc_status to coc.nvim integration
Allow to show additional messages from coc.nvim in section_c For ease of use, shorten the message for windows smaller than 81 characters. closes #2079
This commit is contained in:
parent
fdafa44b2f
commit
fe94d52c4c
|
@ -7,16 +7,16 @@ scriptencoding utf-8
|
|||
let s:error_symbol = get(g:, 'airline#extensions#coc#error_symbol', 'E:')
|
||||
let s:warning_symbol = get(g:, 'airline#extensions#coc#warning_symbol', 'W:')
|
||||
|
||||
function! airline#extensions#coc#get_warning()
|
||||
function! airline#extensions#coc#get_warning() abort
|
||||
return airline#extensions#coc#get('warning')
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#coc#get_error()
|
||||
function! airline#extensions#coc#get_error() abort
|
||||
return airline#extensions#coc#get('error')
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#coc#get(type)
|
||||
if !exists(":CocCommand")
|
||||
function! airline#extensions#coc#get(type) abort
|
||||
if !exists(':CocCommand')
|
||||
return ''
|
||||
endif
|
||||
let _backup = get(g:, 'coc_stl_format', '')
|
||||
|
@ -42,7 +42,13 @@ function! airline#extensions#coc#get(type)
|
|||
endif
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#coc#init(ext)
|
||||
function! airline#extensions#coc#get_status() abort
|
||||
" Shorten text for windows < 81 characters
|
||||
return airline#util#shorten(get(g:, 'coc_status', ''), 81, 9)
|
||||
endfunction
|
||||
|
||||
function! airline#extensions#coc#init(ext) abort
|
||||
call airline#parts#define_function('coc_error_count', 'airline#extensions#coc#get_error')
|
||||
call airline#parts#define_function('coc_warning_count', 'airline#extensions#coc#get_warning')
|
||||
call airline#parts#define_function('coc_status', 'airline#extensions#coc#get_status')
|
||||
endfunction
|
||||
|
|
|
@ -161,6 +161,10 @@ function! airline#init#bootstrap()
|
|||
call airline#parts#define('branch', {
|
||||
\ 'raw': '',
|
||||
\ 'minwidth': 80})
|
||||
call airline#parts#define('coc_status', {
|
||||
\ 'raw': '',
|
||||
\ 'accent': 'airline_term'
|
||||
\ })
|
||||
call airline#parts#define_empty(['obsession', 'tagbar', 'syntastic-warn',
|
||||
\ 'syntastic-err', 'eclim', 'whitespace','windowswap',
|
||||
\ 'ycm_error_count', 'ycm_warning_count', 'neomake_error_count',
|
||||
|
@ -194,7 +198,7 @@ function! airline#init#sections()
|
|||
if exists("+autochdir") && &autochdir == 1
|
||||
let g:airline_section_c = airline#section#create(['%<', 'path', spc, 'readonly'])
|
||||
else
|
||||
let g:airline_section_c = airline#section#create(['%<', 'file', spc, 'readonly'])
|
||||
let g:airline_section_c = airline#section#create(['%<', 'file', spc, 'readonly', 'coc_status'])
|
||||
endif
|
||||
endif
|
||||
if !exists('g:airline_section_gutter')
|
||||
|
|
|
@ -29,8 +29,8 @@ describe 'init sections'
|
|||
Expect g:airline_section_b == ''
|
||||
end
|
||||
|
||||
it 'section c should be file'
|
||||
Expect g:airline_section_c == '%<%f%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
|
||||
it 'section c should be file and coc_status'
|
||||
Expect g:airline_section_c == '%<%f%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#%#__accent_airline_term#%#__restore__#'
|
||||
end
|
||||
|
||||
it 'section x should be filetype'
|
||||
|
@ -78,6 +78,7 @@ describe 'init sections'
|
|||
Expect airline#parts#get('ycm_warning_count').raw == ''
|
||||
Expect airline#parts#get('languageclient_error_count').raw == ''
|
||||
Expect airline#parts#get('languageclient_warning_count').raw == ''
|
||||
Expect airline#parts#get('coc_status').raw == ''
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue