diff options
Diffstat (limited to 'autoload/ale/lsp_linter.vim')
-rw-r--r-- | autoload/ale/lsp_linter.vim | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/autoload/ale/lsp_linter.vim b/autoload/ale/lsp_linter.vim index 39e3e322..1fb2e9b6 100644 --- a/autoload/ale/lsp_linter.vim +++ b/autoload/ale/lsp_linter.vim @@ -141,6 +141,10 @@ function! s:HandleLSPErrorMessage(linter_name, response) abort return endif + call ale#lsp_linter#AddErrorMessage(a:linter_name, l:message) +endfunction + +function! ale#lsp_linter#AddErrorMessage(linter_name, message) abort " This global variable is set here so we don't load the debugging.vim file " until someone uses :ALEInfo. let g:ale_lsp_error_messages = get(g:, 'ale_lsp_error_messages', {}) @@ -149,7 +153,7 @@ function! s:HandleLSPErrorMessage(linter_name, response) abort let g:ale_lsp_error_messages[a:linter_name] = [] endif - call add(g:ale_lsp_error_messages[a:linter_name], l:message) + call add(g:ale_lsp_error_messages[a:linter_name], a:message) endfunction function! ale#lsp_linter#HandleLSPResponse(conn_id, response) abort @@ -430,6 +434,8 @@ function! ale#lsp_linter#StartLSP(buffer, linter, Callback) abort if empty(l:root) && a:linter.lsp isnot# 'tsserver' " If there's no project root, then we can't check files with LSP, " unless we are using tsserver, which doesn't use project roots. + call ale#lsp_linter#AddErrorMessage(a:linter.name, "Failed to find project root, language server wont't start.") + return 0 endif |