Ensure correct checking of LSP support on neovim
Check for differing neovim versions with different APIs for LSP. Fixes #2324 Consists of two tests: 1. Before extension load, test if this is neovim and whether this neovim supports LSP 2. When getting diagnostic counts, test whether a language server is attached to the current buffer
This commit is contained in:
parent
50dfca52ed
commit
b9905f2445
|
@ -338,7 +338,8 @@ function! airline#extensions#load()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if (get(g:, 'airline#extensions#nvimlsp#enabled', 1)
|
if (get(g:, 'airline#extensions#nvimlsp#enabled', 1)
|
||||||
\ && has("nvim"))
|
\ && has('nvim')
|
||||||
|
\ && luaeval('vim.lsp ~= nil'))
|
||||||
call airline#extensions#nvimlsp#init(s:ext)
|
call airline#extensions#nvimlsp#init(s:ext)
|
||||||
call add(s:loaded_ext, 'nvimlsp')
|
call add(s:loaded_ext, 'nvimlsp')
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
scriptencoding utf-8
|
scriptencoding utf-8
|
||||||
|
|
||||||
if !(get(g:, 'airline#extensions#nvimlsp#enabled', 1)
|
if !(get(g:, 'airline#extensions#nvimlsp#enabled', 1)
|
||||||
\ && has("nvim"))
|
\ && has('nvim')
|
||||||
|
\ && luaeval('vim.lsp ~= nil'))
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -14,8 +15,7 @@ function! s:airline_nvimlsp_count(cnt, symbol) abort
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! airline#extensions#nvimlsp#get(type) abort
|
function! airline#extensions#nvimlsp#get(type) abort
|
||||||
if !exists("v:lua.vim.lsp.buf_get_clients()") ||
|
if luaeval('vim.tbl_isempty(vim.lsp.buf_get_clients(0))')
|
||||||
\ empty(v:lua.vim.lsp.buf_get_clients(0))
|
|
||||||
return ''
|
return ''
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue