summaryrefslogtreecommitdiff
path: root/autoload/ale/lsp_linter.vim
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/ale/lsp_linter.vim')
-rw-r--r--autoload/ale/lsp_linter.vim8
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