add support for line numbers for nvimlsp like ale

This commit is contained in:
GONI Guillaume
2022-07-29 10:37:08 +02:00
parent ebb89a0846
commit 4933ee0977
2 changed files with 28 additions and 2 deletions

View File

@@ -21,6 +21,7 @@ function! airline#extensions#nvimlsp#get(type) abort
let error_symbol = get(g:, 'airline#extensions#nvimlsp#error_symbol', 'E:')
let warning_symbol = get(g:, 'airline#extensions#nvimlsp#warning_symbol', 'W:')
let show_line_numbers = get(g:, 'airline#extensions#nvimlsp', 1)
let is_err = a:type ==# 'Error'
@@ -35,7 +36,23 @@ function! airline#extensions#nvimlsp#get(type) abort
let num = v:lua.vim.lsp.util.buf_diagnostics_count(a:type)
endif
return s:airline_nvimlsp_count(num, symbol)
if show_line_numbers == 1 && luaeval("pcall(require, 'vim.diagnostic')") && num > 0
return s:airline_nvimlsp_count(num, symbol) . <sid>airline_nvimlsp_get_line_number(num, a:type)
else
return s:airline_nvimlsp_count(num, symbol)
endif
endfunction
function! s:airline_nvimlsp_get_line_number(cnt, type) abort
let severity = a:type == 'Warning' ? 'Warn' : a:type
let num = v:lua.vim.diagnostic.get(0, { 'severity': severity })[0].lnum
let l:open_lnum_symbol =
\ get(g:, 'airline#extensions#nvimlsp#open_lnum_symbol', '(L')
let l:close_lnum_symbol =
\ get(g:, 'airline#extensions#nvimlsp#close_lnum_symbol', ')')
return open_lnum_symbol . num . close_lnum_symbol
endfunction
function! airline#extensions#nvimlsp#get_warning() abort